python学习笔记-推导式
针对容器:列表 字典 集合
列表推导式
- 最简单的写法:range步长实现
list1 = [i for i in range(10)]
print(list1)
- 带有if 的列表推导式
需求:创建一个0-10偶数列表
list1 = [i for i in range(0,10,2)]
print(list1)
list1 = [i for i in range(10) if i % 2 == 0]
print(list1)
- 多个for循环实现列表推导式
list1 = [(i,j) for i in range(1,3) for j in range(3)]
print(list1)
字典推导式
作用:快速合并列表为字典 或者 提取 字典中的目标数据
- 需求分析:创建一个字典 : key 1-5 value:key *key
dict1 = {i:i**2 for i in range(1,6)}
print(dict1)
- 将两个列表合并为一个字典
dict2 = {list1[i]:list2[j] for i in range(len(list1))}
print(list1)
注意:连个列表的数据个数必须相同 否则会报错
- 提取字典中的目标数据
counts = {'mbp':268,'hp':125,'dell':201,'lenovo':199,'acer':99}
count1 = {key:value for key,value in counts.items() if value >= 200}
print(count1)
集合推导式
s = [1,1,2]
ss = {i**2 for i in s}
print(ss)
|