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}