[英]Defaultdict - assign strings to key value in loop
我正在努力了解為什么我要遍歷並分配給默認字典中的字典鍵值對的字符串值無法正常工作。
理想的結果是在兩個列表中的每個字符串值之間循環,並返回一個字典,其中包含用於鍵的網站和用於值的團隊名稱。 但是,追加和等號均無效。 另外,我不確定為什么defaultdict以defaultdict(None,{})的形式返回(或者如果我將其初始化為列表,則返回defaultdict(list,{}))。 有沒有辦法斷言該字典的鍵和值都將是字符串?
謝謝您的幫助。
teams=['yankees','redsox','giants']
websites=['xasfsgrwg.cc','redsox.com','giants.org']
from collections import defaultdict
baseballdict=defaultdict() #defaultdict(None, {})
#baseballdict=defaultdict(list)
for i in range(len(websites)):
baseballdict[websites[i]]=baseballdict[teams[i]] #does not work
baseballdict[websites[i]].append(baseballdict[teams[i]]) # does not work
要創建以字符串類型為鍵類型的my_dict = defaultdict(str)
,您應創建類似於my_dict = defaultdict(str)
。 對於擁有以網站為鍵,以團隊為值的字典,您應該這樣做:
for i in range(len(websites)):
baseballdict[websites[i]] = teams[i]
您在代碼的最后幾行中分配和附加錯誤。
這是您的代碼的修復。
teams=['yankees','redsox','giants']
websites=['xasfsgrwg.cc','redsox.com','giants.org']
baseballdict={}
for i in range(len(websites)):
baseballdict[websites[i]]=teams[i]
print(baseballdict)# prints dictionary
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.