Python 提取字典的一部分

原创 2014年 4月 2日
标签: PYTHON
本文发布至今已有10年零200天,可能不再适用,请谨慎对待。

先打个广告:欢迎关注我的公众号,参与 文史大挑战 趣味题目。使用方法见 这篇文章

公众号:晚花行乐

正文开始:

Python如何提取提取字典的一部分,即子字典(sub-dictionary)?

比如已有字典

{'A':1, 'B':2, 'C':3, 'D':4, 'E':5}

给出键值

['C', 'E']

要得到

{'C':3, 'E':5}

可以用以下方法提取子字典:

base = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}
subkey = ['C', 'E']
print(dict([(key, base[key]) for key in subkey])) #{'C': 3, 'E': 5}

更新

Python总有不止一种办法解决问题:

使用dict comprehension

base = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}
subkey = ['C', 'E']
print({key:base[key] for key in subkey}) #{'C': 3, 'E': 5}

使用unpack

base = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}
subkey = ['C', 'E']
print({k:v for k,v in base.items() if k in subkey}) #{'C': 3, 'E': 5}

如果您对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

标签: PYTHON
给个免费的赞吧~

精彩评论

本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/subdictionary-python/ ,且不得用于商业用途。