如果有如下两个列表:
list1 = ['name', 'age', 'gender']
list2 = ['Tom', 20, 'man']
如何快速合并为一个字典?
答:字典推导式
字典推导式作用:快速合并列表为字典或提取字典中目标数据
创建一个字典:
字典key是1-5数字,value是这个数字的2次方。
dict1 = {i: i**2 for i in range(1, 5)}
print(dict1) # {1: 1, 2: 4, 3: 9, 4: 16}
将两个列表合并为一个字典
list1 = ['name', 'age', 'gender', 'id']
list2 = ['Tom', 20, 'man']
#dict1 = {list1[i]: list2[i] for i in range(len(list2))}
dict1 = {list1[i]: list2[i] for i in range(min(len(list1),len(list2)))}
print(dict1)
# 总结:
# 1. 如果两个列表数据个数相同,len统计任何一个列表的长度都可以
# 2. 如果两个列表数据个数不同,len统计数据多的列表数据个数会报错;len统计数据少的列表数据个数不会报错
提取字典中目标数据
counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}
# 1. 需求:提取电脑台数大于等于200
# 获取所有键值对数据,判断v值大于等于200 返回 字典
# print(counts.items())
# dict1 = {key: value for key, value in counts.items() if value >= 200}
# print(dict1)
dit={k:v for k,v in counts.items() if v>200}
print(dit)

761

被折叠的 条评论
为什么被折叠?



