通过更新现有的dict来创建新的dict

时间:2014-07-18 08:08:12

标签: python python-2.7 dictionary

我想通过更新现有词典来创建新词典。这表现为假设:

x = {'a': 1}
x.update({'a': 2})

但为什么以下结果会产生NoneType?

({'a': 1}).update({'a': 2})

2 个答案:

答案 0 :(得分:2)

Python标准库中的所有就地操作返回Nonedict.update()也不例外。

您无法创建dict文字并在其上调用.update(),并希望它返回更新的dict对象,否。

你基本上是这样做的:

tmp = {'a': 1}
result = tmp.update({'a': 2})
del tmp

并期望result成为字典。

可以使用:

dict({'a': 2}, **{'a': 2})
然而,

并获得合并的字典。或者,对于更实用的版本:

copy = dict(original, foo='bar') 

创建字典副本并设置一些额外的键(替换该键的任何先前值)。

答案 1 :(得分:1)

因为update和Python中的所有变异方法一样,返回None。