我很难理解为什么我试图循环的字符串值并分配给默认字典中的字典键值对不正常工作。
此处所需的结果是遍历两个列表中每个列表中的字符串值,并返回一个字典,其中包含值的网站和值的团队名称。但是,无论是附加还是等号都不起作用。另外,我不知道为什么defaultdict返回表单defaultdict(None,{})(或defaultdict(list,{}),如果我将其作为列表启动)。有没有办法断言这个dict的键和值都是字符串?
感谢您的帮助。
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
答案 0 :(得分:0)
要创建一个将类型字符串作为键类型的defaultdict,您应该创建类似my_dict = defaultdict(str)
的内容。对于拥有以网站为关键字和团队作为价值观的词典,您应该这样做:
for i in range(len(websites)):
baseballdict[websites[i]] = teams[i]
答案 1 :(得分:0)
您在代码的最后几行中进行了错误的分配和附加。
这是对您的代码的修复。
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