2024-09-21 00:49:39 发布
网友
我有一本字典:
{'key1':1, 'key2':2, 'key3':3}
我需要把那本字典的一个子集传给第三方代码。它只需要一个包含键['key1', 'key2', 'key99']的字典,如果它得到另一个键(例如'key3'),它就会爆炸成一团糟糕的混乱。有问题的代码超出了我的控制,所以我不得不清理字典。
['key1', 'key2', 'key99']
'key3'
把字典限制在一组键上最好的方法是什么?
考虑到上面的示例字典和允许的键,我希望:
{'key1':1, 'key2':2}
在现代Python(2.7+,3.0+)中,使用字典理解:
d = {'key1':1, 'key2':2, 'key3':3} included_keys = ['key1', 'key2', 'key99'] {k:v for k,v in d.items() if k in included_keys}
In [38]: adict={'key1':1, 'key2':2, 'key3':3} In [41]: dict((k,adict[k]) for k in ('key1','key2','key99') if k in adict) Out[41]: {'key1': 1, 'key2': 2}
在Python3(或Python2.7或更高版本)中,也可以使用dict-comprehension来完成:
>>> {k:adict[k] for k in ('key1','key2','key99') if k in adict} {'key2': 2, 'key1': 1}
dict(filter(lambda i:i[0] in validkeys, d.iteritems()))
在现代Python(2.7+,3.0+)中,使用字典理解:
在Python3(或Python2.7或更高版本)中,也可以使用dict-comprehension来完成:
相关问题 更多 >
编程相关推荐