在我的情况下,我需要将字典的一部分转移到持久存储:
adict={'a':'aaa','b':'bbb','c':'ccc'}
newdict={'a':'aaa','b':'bbb'}
我尝试使用dict.fromkeys(['a','b']),这只给我默认的None值,除非我特定这些键的值。我希望有一些功能自动默认值到原来的dict已经有的。像
这样的东西newdict=adict.fromkeysautomatic(['a','b'])
我知道写一个函数很容易这样做,但我相信应该有一些内置机制,因为这应该是一些常见的行为。但是没有通过搜索自己得到它。
答案 0 :(得分:19)
使用dict理解:
>>> d = {'a':'aaa','b':'bbb','c':'ccc'}
>>> newdict = {key:d[key] for key in ['a', 'b']}
>>> newdict
{'a': 'aaa', 'b': 'bbb'}
附注:不要将dict
用作变量名。它隐藏了内置dict
function。
答案 1 :(得分:1)
避免 dict理解,这只适用于较新版本的Python( 2.7 + ),您也可以这样做:
d = {'a':'aaa','b':'bbb','c':'ccc'}
dd = dict((k, d[k]) for k in ("a", "b"))