在Python中将项添加到字典中

时间:2013-04-07 17:29:18

标签: python

我有一个字典,将值存储为每个键的列表。例如:

dict1={}
dict1["A"]=[]

我想现在将数字附加到此列表中,但我该如何正确执行此操作?我试过了dict1["A"]=dict1["A"].append(1)

这只附加了"None"。我该怎么做?

3 个答案:

答案 0 :(得分:4)

您只需致电append()

dict1["A"].append(1)

由于append()本身的返回值为无,因此在成功将项目添加到列表后,您的版本只是将旧值(列表)替换为None

快速演示:

>>> dict1 = {'A': []}
>>> dict1['A'].append(1)
>>> dict1
{'A': [1]}

在Python中,就地操作(如附加到列表)返回None

>>> alist = []
>>> alist.append(1) is None
True
>>> alist
[1]

但正如您所看到的,列表本身已更改。

答案 1 :(得分:1)

无需重新分配。只需dict1["A"].append(1)

您所犯的错误是dict1["A"].append(1)返回None并且您将其分配回dict1。这解释了你得到的None ......

答案 2 :(得分:1)

这是因为append()就地更改了列表并返回None。在您的代码中,您将返回的值分配给dict1["A"]

In [25]: dict1={}

In [26]: dict1["A"]=[]

In [27]: dict1["A"].append(1)  #try print dict1["A"].append(1) here

In [28]: dict1
Out[28]: {'A': [1]}