这可能是显而易见的,但我被困在是否可以使用迭代器/一行来实现以下目标:
TEAMS = [u'New Zealand', u'USA']
dict = {}
我怎么写:
for team in TEAMS:
dict[team] = u'Rugby'
作为迭代器,例如:
(dict[team] = u'Rugby' for team in TEAMS) # Or perhaps
[dict[team] for team in TEAMS] = u'Rugby
可以做到吗?括号应该放在哪里?
所需输出:dict = {u'New Zealand': u'Rugby', u'USA': u'Rugby'}
我知道python中有很多与迭代器相关的问题,所以我很抱歉,如果这有一个答案,我试着寻找,无法找到一个很好的答案。
您可以使用字典推导。请看下面:
TEAMS = [u'New Zealand', u'USA']
d = {team: 'Rugby' for team in TEAMS}
使用dict fromkeys方法。另外,不建议使用关键字dict作为变量名,改为d而不是
TEAMS = [u'New Zealand', u'USA']
d = {}.fromkeys(TEAMS, u'Rugby')
# d = {u'New Zealand': u'Rugby', u'USA': u'Rugby'}
for team in TEAMS:
dict.update({team: u'Rugby'})
TEAMS = [u'New Zealand', u'USA']
dict(zip(TEAMS, ['Rugby'] * 2))