簡體   English   中英

Python 字典 append 鍵?

[英]Python dictionary append to key?

我一直在閱讀,我認為我想要實現的目標的正確解決方案是一本字典......

我一直在玩和看例子,它們似乎是通往 go 的路。不過我遇到了問題。 雖然我可以毫無問題地創建一個鍵並設置它的值,但我無法向現有鍵添加值。

這是我正在嘗試的

dict = {}
...
if key not in dict:
   dict[key] = value
else:
   dict[key].append(value)

它給了我...

AttributeError: 'str' object has no attribute 'append'

如果我使用打印,則 if else 語句正確觸發。 如果密鑰不存在,則添加該密鑰。 該錯誤僅發生在 append 行。

我期望的是每個鍵的值列表。

謝謝,克里斯

正如@kenny所提到的

你所要做的就是

from collections import defaultdict

dic = defaultdict(list)

# it creates a list if the key is not in dictionary automatically
dic[key].append(value)

我認為您只需要將初始密鑰作為包含一個元素的列表插入:

dict = {}
...
if key not in dict:
   dict[key]=[value]
else:
   dict[key].append(value)

這很好用:

dict={}
dict["key"]=[1]
dict["key"].append(2)
dict 

{'key': [1, 2]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM