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倍。



原文地址:https://www.cnblogs.com/keye/p/15633474.html