2024速通python之python进阶

「章节总览」
 
      【2024速通python之python基础 https://blog.csdn.net/weixin_45404884/article/details/138578955】
      【2024速通python之python进阶 https://blog.csdn.net/weixin_45404884/article/details/138663338】
      【2024速通python之python高阶 https://blog.csdn.net/weixin_45404884/article/details/138810133】

一、数据容器

1.list列表

(1)定义

name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list)

# 将列表遍历输出
for name in name_list:
    print(name)

# 输出name_list类型
print(type(name_list))

(2)常用方法

  • 按下标索引
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list[0])
  • 反向索引
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list[-4])
  • 查找某元素下标
print(name_list.index('wangwu'))
  • 指定位置插入元素
    列表.insert(下标, 元素),在指定的下标位置,插入指定的元素
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
name_list.insert(1, 'sss')
print(name_list)
  • 追加元素
    列表.append(元素),将指定元素,追加到列表的尾部
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
name_list.append('sss')
print(name_list)

列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部

name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
other_list = ['sss', 'ddd']
name_list.extend(other_list)
print(name_list)
  • 删除元素
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
# 方式一
del name_list[0]
# 方式二
name_list.pop(0)
print(name_list)
  • 删除某元素在列表中的第一个匹配项
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
name_list.remove('lisi')
print(name_list)

  • 清空列表
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
name_list.clear()
print(name_list)
  • 统计某元素在列表内的数量
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
print(name_list.count('lisi'))
  • 列表长度
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
print(len(name_list))

2.元组

元组一旦定义完成,就不可修改

(1)定义

name_list = ('zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi')
print(name_list)

3.字符串常用操作汇总

(1)根据下标索引取出特定位置字符

name = 'hello world'
print(name[0])

(2)查找给定字符的第一个匹配项的下标

name = 'hello world'
print(name.index('h'))

(3)将字符串内的全部字符串1,替换为字符串2

name = 'hello world'
newName = name.replace('world', 'city')
print(newName)

(4)按照给定字符串,对字符串进行分隔

name = 'hello world'
newName = name.split(' ')
print(newName)

(5)移除首尾的空格和换行符或指定字符串

name1 = ' hello world '
name2 = '12hello world21'
newName1 = name1.strip(' ')
newName2 = name2.strip('12')
print(newName1)
print(newName2)

(6)统计字符串内某字符串的出现次数

name1 = 'hello world'
print(name1.count('o'))

4.序列

序列是指:内容连续、有序,可使用下标索引的一类数据容器。
列表、元组、字符串,均可以可以视为序列。
序列支持切片,即:列表、元组、字符串,均支持进行切片操作。
切片:从一个序列中,取出一个子序列。
语法:序列[起始下标:结束下标:步长]
表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。

  • 起始下标表示从何处开始,可以留空,留空视作从头开始
  • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
  • 步长表示,依次取元素的间隔
  • 步长1表示,一个个取元素
  • 步长2表示,每次跳过1个元素取
  • 步长N表示,每次跳过N-1个元素取
  • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)
my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4]	# 下标1开始,下标4(不含)结束,步长1
print(new_list)		# 结果:[2, 3, 4]

my_list = [1, 2, 3, 4, 5]
new_list = my_list[::2]		# 从头开始,到最后结束,步长2
print(new_list)		# 结果:[1, 3, 5]

5.集合

去重且无序

(1)定义

my_list = {1, 2, 3, 4, 5}
print(my_list)

(2)常用方法

  • 集合内添加一个元素
my_list = {'1', '2', '3', '4', '5'}
my_list.add('111')
print(my_list)
  • 移除集合内指定的元素
my_list = {'1', '2', '3', '4', '5'}
my_list.remove('3')
print(my_list)

  • 随机取出一个元素
my_list = {'1', '2', '3', '4', '5'}
print(my_list.pop())
  • 清空
my_list = {'1', '2', '3', '4', '5'}
my_list.clear()
print(my_list)
  • 2个集合的差集
my_list1 = {'1', '2', '3', '4'}
my_list2 = {'2', '3', '4', '5'}
my_list3 = my_list1.difference(my_list2)
print(my_list3)
  • 2个集合的并集
my_list1 = {'1', '2', '3', '4'}
my_list2 = {'2', '3', '4', '5'}
my_list3 = my_list1.union(my_list2)

print(my_list3)

6.字典

(1)定义

字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法:
{key:value}
字典内Key不允许重复,重复添加等同于覆盖原有数据

my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict)

(2)常用方法

  • 获取字典的全部Key,可用于for循环遍历字典
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict.keys())
  • 取出Key对应的Value并在字典内删除此Key的键值对
my_dict = {1: 'one', 2: 'two', 3: 'three'}
my_dict.pop(1)
print(my_dict)

二、函数

1.函数多返回值

  • 按照返回值的顺序,写对应顺序的多个变量接收即可
  • 变量之间用逗号隔开
def test():
    return "a", 1


x, y = test()
print(x)
print(y)

2.函数多种传参方式

(1)位置参数

调用函数时根据函数定义的参数位置来传递参数

def test(x, y):
    print('x====', x)
    print('y====', y)


test(1, 2)

(2)关键字参数

函数调用时通过“键=值”形式传递参数
** kwargs 表示关键字参数, 它本质上是一个 dict

def test(**kwargs):
    print(kwargs)


test(x=1, y=2, z=3, a=4)

(3)缺省参数

不传值,默认z赋值为1

def test(x, y, z=1):
    print(x)
    print(y)
    print(z)


test(1, 2)
test(1, 2, 3)

(4)不定长参数

*args 表示任何多个无名参数, 他本质上是一个 tuple

def test(*args):
    print('x====', args)


test(1, 2)

3.lambda匿名函数

  • lambda 传入函数 :函数体(一行代码)

  • 匿名函数用于临时构建一个函数,只用一次的场景

  • 匿名函数的定义中,函数体只能写一行代码,如果函数体要写多行代码,不可用lambda 匿名函数,应使用def定义带名函数

def test(compute):
    result = compute(1, 2)
    print(result)


test(lambda x, y: x + y)
  • 55
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值