【发布时间】:2020-12-26 17:46:16
【问题描述】:
想象一下我有
dict1 = {'uno':[1,2,3],'dos':[4,5,6]}
和
dictA = {'AA':'ZZZZZ'}
这行得通:
dict1.update(dictA)
结果:{'uno': [1, 2, 3], 'dos': [4, 5, 6], 'AA':'ZZZZZ'}
但这不起作用:
B = dict1.update(dictA)
结果不是错误,但 Result 是 None,这使得这种行为 (IMMO) 奇怪而危险,因为代码不会崩溃。
那么为什么返回 None 而没有报错呢?
注意: 看起来要走的路是:
C = dict1.update(dictA)
B = {}
B.update(dict1)
B.update(dictA)
B
C 没有 B在这里没问题
【问题讨论】:
-
update函数更新当前的dict并返回None,因此存储在B中的值将为None。 -
这并不奇怪,它会就地更新字典。因此返回
None -
谢谢,检查其他相关问题我找不到返回无的原因。我的意思是一个用例左右。也许这是一个哲学问题。它记录在案,我们知道绕过它的方法,但问题是为什么会这样?
标签: python dictionary updates