2013-04-07 89 views
0

我有一個字典將值存儲爲每個鍵的列表。例如:將項添加到Python中的字典中

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

我想將數字追加到此列表中,但是如何正確執行此操作?我試過dict1["A"]=dict1["A"].append(1)

這個只附加了"None"。我該怎麼做呢?

+0

這可能是因爲你設置的附加價值,它返回'None'的關鍵價值。 – squiguy 2013-04-07 17:30:57

回答

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

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

您所犯的錯誤是dict1["A"].append(1)返回None並且您將其指定回dict1。這說明你得到的None ...

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