Python 字典中提取子集
一、问题
从字典中提取子集。
二、解决方案
字典推导。
age = {'wangke': 30, 'wangyan': 18, 'wangying': 18,
'qinlu': 28, 'hongxia': 58}
d1 = {key: value for key, value in age.items() if value > 18} # 年龄大于18
print(d1)
names = {'wangke', 'qinlu', 'hongxia'}
d2 = {key: value for key, value in age.items() if key in names}
print(d2)
输出:
{'wangke': 30, 'qinlu': 28, 'hongxia': 58}
{'wangke': 30, 'qinlu': 28, 'hongxia': 58}
三、讨论
除了字典推导,通过创建一个元组,然后把它传给 dict()
也能实现。
d3 = dict((key, value) for key, value in age.items() if value > 18)
print(d3)
{'wangke': 30, 'qinlu': 28, 'hongxia': 58}
字典推导比 dict()
快1倍。