Python同时循环,枚举和添加到字典

时间:2017-02-06 10:16:23

标签: python python-2.7 dictionary

是否有一种巧妙的方法来遍历列表,将值作为字典键添加,并将其在列表中的位置作为其值? 类似的东西:

for x,y in enumerate(line):
    dictItem[x] = y

但在一行?

3 个答案:

答案 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}