基于上次的字典和集合,本次总结python中的一些公共操作和简单的推导式运算。
一、公共操作
1、运算符
运算符 | 描述 | 支持的容器类型 |
---|---|---|
+ | 合并 | 字符串、列表、元组 |
* | 复制 | 字符串、列表、元组 |
in | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 元素是否不存在 | 字符串、列表、元组、字典 |
1 | # *复制运算符 |
2、公共方法
函数 | 描述 |
---|---|
len() | 计算容器中元素个数 |
del 或 del() | 删除 |
max() | 返回容器中元素最大值 |
min() | 返回容器中元素最小值 |
range(start,end,step) | 生成从start到end的数字(可迭代对象),步长为step,供for循环使用 |
enumerate() | 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般在for循环当中。 |
1 | str = 'hello' |
len() 和 del()
1 | len(str) # 5 |
max() 和 min()
1 | max(str) |
range()
1 | # 1 2 3 4 5 6 7 8 9 |
注意:range()生成的序列不包含end数字。
如果不写开始,默认从0开始
如果不写步长,默认为1
enumerate()
语法
1
enumerate(可遍历对象,start = 0)
注意:start参数用来设置遍历数据的下标的起始值,默认为0。
enumerate 返回结果是元组,元组第一个数据是原迭代对象的数据对应的下标,第二个为对应的 数据
1
2
3
4
5
6list = ['a','b','c','d','e']
for i in enumerate(list):
print(i)
for index, char in enumerate(list, start = 1):
print(f'下标是{index},对应的字符是{char}')
3、容器类型转换
tuple()
作用:将某个序列转换成元组
1 | list = [1,2,3] |
二、推导式
作用:主要为化简代码。
1、列表推导式
作用:用一个表达式创建一个有规律的列表或控制一个有规律的列表。
1、带for循环的列表推导式
例题:创建从0~9的顺序列表
1 | list = [i for i in range(10)] |
2、带if的列表推导式
例题:创建从0~9的偶数列表
方法1:range()步长实现
1
list = [1 for i in range(0,10,2)]
方法2:if实现
1
list = [i for i in range(10) if i % 2 == 0]
3、多个for循环实现列表推导式
例题:创建列表如下:
1 | [(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)] |
代码如下:
1 | # 普通实现 |
将普通实现的方法按照顺序写入列表方括号里,输出项提前即可
2、字典推导式
作用:快速合并列表为字典或提取字典中目标数据
案例:
1、创建一个字典:字典key是1-5,value是这个数的平方
1 | dict = {i : i**2 for i in range(1,5)} #{1: 1, 2: 4, 3: 9, 4: 16} |
2、将两个列表合并为一个字典
1 | list1 = ['name','age','gender'] |
3、提取字典中的目标数据
1 | counts = {'MBP': 268, 'HP': 125, 'DELL': 201} |
3、集合推导式
1 | list = [1, 1, 2] |