我有一個字典將值存儲爲每個鍵的列表。例如:將項添加到Python中的字典中
dict1={}
dict1["A"]=[]
我想將數字追加到此列表中,但是如何正確執行此操作?我試過dict1["A"]=dict1["A"].append(1)
這個只附加了"None"
。我該怎麼做呢?
我有一個字典將值存儲爲每個鍵的列表。例如:將項添加到Python中的字典中
dict1={}
dict1["A"]=[]
我想將數字追加到此列表中,但是如何正確執行此操作?我試過dict1["A"]=dict1["A"].append(1)
這個只附加了"None"
。我該怎麼做呢?
你只需要調用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]
但你可以看到,該列表本身被改變。
無需重新分配。只要做dict1["A"].append(1)
。
您所犯的錯誤是dict1["A"].append(1)
返回None
並且您將其指定回dict1
。這說明你得到的None
...
這是因爲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]}
這可能是因爲你設置的附加價值,它返回'None'的關鍵價值。 – squiguy 2013-04-07 17:30:57