这可能是显而易见的,但我是否可以使用迭代器/单线程来实现以下目标:
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中有很多与迭代器相关的问题,所以如果有答案我会道歉,我试过看,并且找不到这个特定问题的好答案。
答案 0 :(得分:3)
你可以使用dict理解。看看下面:
TEAMS = [u'New Zealand', u'USA']
d = {team: 'Rugby' for team in TEAMS}
答案 1 :(得分:1)
使用dict fromkeys方法。 另外,不建议使用关键字dict作为var名称,而是改为d
TEAMS = [u'New Zealand', u'USA']
d = {}.fromkeys(TEAMS, u'Rugby')
# d = {u'New Zealand': u'Rugby', u'USA': u'Rugby'}
答案 2 :(得分:0)
for team in TEAMS:
dict.update({team: u'Rugby'})
答案 3 :(得分:0)
TEAMS = [u'New Zealand', u'USA']
dict(zip(TEAMS, ['Rugby'] * 2))