是否有一种巧妙的方法来遍历列表,将值作为字典键添加,并将其在列表中的位置作为其值? 类似的东西:
for x,y in enumerate(line):
dictItem[x] = y
但在一行?
答案 0 :(得分:5)
您可以简单地将枚举值提供给dict
构造函数:
dictItem = dict(enumerate(line))
当您为其提供包含键和值的2元组的可迭代时, dict(..)
可以构建字典。您的enumerate(..)
会生成具有该键和值的元组。
如果您想更新字典(即添加新值或更新现有值),您可以写:
dictItem.update(enumerate(line))
答案 1 :(得分:2)
您可以尝试:
dictItem.update(enumerate(line))
例如:
>>> a = {}
>>> a.update(enumerate([4, 5, 6]))
>>> a
{0: 4, 1: 5, 2: 6}
答案 2 :(得分:1)
试试这个,
{pos:val for pos,val in enumerate(line)}
Exicution,
In [6]: line = [7,6,5,4,4]
In [7]: {pos:val for pos,val in enumerate(line)}
Out[7]: {0: 7, 1: 6, 2: 5, 3: 4, 4: 4}