从字典中提取子集
1.最简单的方式就是使用字典推导
prices = { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.20, 'FB': 10.75 }
battal = sorted(zip(prices.values(),prices.keys())) print(battal) #[(10.75, 'FB'), (37.2, 'HPQ'), (45.23, 'ACME'), (205.55, 'IBM'), (612.78, 'AAPL')] p1 = {key:value for key,value in prices.items() if value > 200} print(p1) #{'AAPL': 612.78, 'IBM': 205.55}
tech_names = {'AAPL', 'IBM', 'HPQ', 'MSFT'}
p2 = {key:value for key,value in prices.items() if key in tech_names} #方法一
print(p2) #{'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.2}
p4 = {key:prices[key] for key in prices.keys() & tech_names} #方法二
print(p4) #{'HPQ': 37.2, 'IBM': 205.55, 'AAPL': 612.78}
2. 通过创建一个元组序列然后把它传给dict()函数也可以做到
p3 = dict((key,value) for key,value in prices.items() if value > 200) print(p3) #'AAPL': 612.78, 'IBM': 205.55}
注意:字典推导比创建元组更快
微笑向暖安之若素,你若盛开清风自来

浙公网安备 33010602011771号