从字典中提取子集

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}

注意:字典推导比创建元组更快

 

posted @   花桥  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示