【发布时间】:2018-04-22 17:09:24
【问题描述】:
我很难理解为什么我试图循环并分配给默认字典中的字典键值对的字符串值无法正常工作。
这里期望的结果是遍历两个列表中的每一个中的字符串值,并返回一个字典,其中包含用于键的网站和用于值的团队名称。但是,追加和等号都不起作用。此外,我不确定为什么 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
【问题讨论】:
-
你能用你想要的输出来edit你的问题吗?这将使您的问题更加清晰。
-
dict(zip(webites, teams)) -
如果您正确解释了您想要的结果,那么 (1) Stephen 的评论是最好的方法 (2) defaultdict 不会添加任何内容。
标签: python dictionary defaultdict