【发布时间】:2017-07-01 15:15:26
【问题描述】:
word = 'EVAPORATE'
lettersWord = list(word)
d = {}
for elem in lettersWord:
d[elem] = '_'
print(d)
这会返回:
{'E': '_', 'V': '_', 'A': '_', 'P': '_', 'O': '_', 'R': '_', 'T': '_'}
虽然我希望它返回的是:
{'E': '_', 'V': '_', 'A': '_', 'P': '_', 'O': '_', 'R': '_', 'A': '_', 'T': '_', 'E': '_'}
感谢您的帮助!
【问题讨论】:
-
你不能。字典的键必须是唯一的。
-
使用 defaultdict 函数。也可以看看link
-
在这种情况下,字典不是正确的结构(
d['E']是什么意思?)要么使用多重集(如collections.Counter),要么使用列表[('E', '_'), ('V', '_'), ...]
标签: python list dictionary for-loop