使用update()为字典添加值

时间:2013-12-03 18:07:02

标签: python python-2.7 dictionary

我正在尝试在我的字典中添加一个值。

我的字典:

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

4 个答案:

答案 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 ...