[英]Adding a item into a a dictionary in Python
我有一本字典,將值存儲為每個鍵的列表。 例如:
dict1={}
dict1["A"]=[]
我現在想將數字添加到此列表中,但是如何正確執行此操作? 我嘗試了dict1["A"]=dict1["A"].append(1)
這僅附加了"None"
。 我該怎么做呢?
您只需要調用append()
dict1["A"].append(1)
由於append()
本身的返回值為None,因此您將版本成功添加到列表后 ,您的版本僅將舊值(列表)替換為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
其分配回dict1
。 這就解釋了您得到的None
...
這是因為append()
就地更改了列表並返回None
。 在您的代碼中,您分配了返回Value到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]}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.