为什么dict(k=4, z=2).update(dict(l=1))
返回None
?它似乎应该返回dict(k=4, z=2, l=1)
?我正在使用 Python 2.7。
问问题
5636 次
3 回答
16
该方法在原地.update()
更改字典并返回. 字典本身已更改,不需要返回更改后的字典。None
首先分配字典:
a_dict = dict(k=4, z=2)
a_dict.update(dict(l=1))
print a_dict
这有明确的记录,请参阅dict.update()
方法文档:
使用其他键/值对更新字典,覆盖现有键。返回
None
。
于 2013-08-03T22:14:54.167 回答
2
于 2013-08-03T22:14:55.750 回答
2
为了完成,如果您确实想返回字典的修改版本,而不修改原始版本,您可以这样做:
original_dict = {'a': 'b', 'c': 'd'}
new_dict = dict(original_dict.items() + {'c': 'f', 'g': 'h'}.items())
这为您提供了以下内容:
new_dict == {'a': 'b', 'c': 'f', 'g': 'h'}
original_dict == {'a': 'b', 'c': 'd'}
于 2017-08-03T15:26:47.430 回答