为什么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   回答