python中推导式
- 列表推导式
- 字典推导式
- 集合推导式
1.列表推导式
# 基本格式
list = [ i for i in range(10) if i % 2 ]
- list 是列表推导式的返回值,即列表
- i 是推导式的推导式生成元素(可以是表达式,包括函数)
- for i in range(10) 迭代
- if i % 2 判断条件
# 例1
# 自定义函数
def squared(x):
return x*x
# 20内偶数的平方的列表
list_squared = [ squared(i) for i in range(20) if not i % 2 ]
注意点:列表推导式只能使用 ’ [ ] ‘,当写成’ ( ) '时列表推导式就变成了生成器generator
2.字典推导式
# dict_m键值对调
dict = { value: key for key, value in dict_m.items() }
3.集合推导式
# 基本格式
set = { i*2 for i in range(10) if i % 2 }
集合推导式跟列表推导式是一样的,唯一的不同就是使用’ { } ’
总结
# 列表
list = [ i for i in range(10) if i % 2 ]
# 字典
dict = { key: value for (key, value) in dict_m.items() }
# 集合
set = { i for i in range(10) if i % 2 }