Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在Python中dict(k=4,z=2).update(dict(l=1))不返回任何值?_Python_Python 2.7_Dictionary - Fatal编程技术网

为什么在Python中dict(k=4,z=2).update(dict(l=1))不返回任何值?

为什么在Python中dict(k=4,z=2).update(dict(l=1))不返回任何值?,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,为什么dict(k=4,z=2).update(dict(l=1))返回None?似乎它应该返回dict(k=4,z=2,l=1)?我使用的是Python2.7,如果这很重要的话。方法.update()会修改字典,并返回None。词典本身已修改,修改后的词典无需返回 首先分配字典: a_dict = dict(k=4, z=2) a_dict.update(dict(l=1)) print a_dict 这已清楚记录,请参阅: 使用其他键/值对更新字典,覆盖现有键。返回None 方法不会就地更

为什么
dict(k=4,z=2).update(dict(l=1))
返回
None
?似乎它应该返回dict(k=4,z=2,l=1)?我使用的是Python2.7,如果这很重要的话。

方法
.update()
会修改字典,并返回
None
。词典本身已修改,修改后的词典无需返回

首先分配字典:

a_dict = dict(k=4, z=2)
a_dict.update(dict(l=1))
print a_dict
这已清楚记录,请参阅:

使用其他键/值对更新字典,覆盖现有键。返回
None

方法不会就地更新。它不返回修改后的dict,但
None

医生在第一行说:

使用其他键/值对更新字典,覆盖现有键返回无。


为了完整起见,如果您确实希望返回字典的修改版本,而不修改原始版本,则可以这样做:

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'}

你所说的“就地”是什么意思?@raster blaster:该方法改变了它所操作的字典。它不归还修改过的字典。噢,天哪,我明白了。现在看来很明显。非常感谢你。作为旁注,我想你是指第二行的dict而不是dict。试过了,它告诉我等7分钟,我会尽快做的。为什么人们会投票反对?对我来说,这是非常有益的。另请参见: