我正在尝试在我的字典中添加一个值。
我的字典:
a = {'a':[a,b,c],'b':[e,f,g]}
当我使用命令a.update({'c':[j,k,l]})
并尝试打印时,我得到的值为无
我想要
a = {'a':[a,b,c],'b':[e,f,g], 'c':[j,k,l]}
答案 0 :(得分:4)
update
更新dict 到位并返回None
。
打印a
,而不是udpate
返回的值。
文档:
D.update([E, ]**F) -> **None**. Update D from dict/iterable E and F.
If E present and has a .keys() method, does: for k in E: D[k] = E[k]
If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]
答案 1 :(得分:2)
您的代码有效:
>>> a = {'a':['a','b','c'],'b':['e','f','g']}
>>> a.update({'c':['j','k','l']})
>>> print a
{'a': ['a', 'b', 'c'], 'c': ['j', 'k', 'l'], 'b': ['e', 'f', 'g']}
>>>
问题是dict.update
是一种就地方法。意思是,它总是返回None
。
正如我在我的示例中所示,您需要做的是将dict.update
的调用放在自己的行上,然后在该行之后打印字典。
答案 2 :(得分:2)
a = {'a':['a','b','c'],'b':['e','f','g']}
a.update({'c':['j','k','l']})
print a
给出:
{'a': ['a', 'b', 'c'], 'c': ['j', 'k', 'l'], 'b': ['e', 'f', 'g']}
答案 3 :(得分:1)
update()
方法就位并返回None
。该词典自行修改:
>>> a = {'a':[1,2,3],'b':[4,5,6]}
>>> a
{'a': [1, 2, 3], 'b': [4, 5, 6]}
>>> a.update({'c': [9]})
>>> a
{'a': [1, 2, 3], 'c': [9], 'b': [4, 5, 6]}
我猜你用以下内容重写它:a = a.update({'c': [9]})
并且由于None
结果,你得到None
...