簡體   English   中英

Python同時循環,枚舉並添加到字典中

[英]Python simultaneously loop, enumerate, and add to a dictionary

有沒有一種巧妙的方法來遍歷列表,將值添加為字典鍵,並將其在列表中的位置添加為其值? 就像是:

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

但在一排?

您可以簡單地將枚舉輸入到dict構造函數中:

dictItem = dict(enumerate(line))

dict(..)賦予包含value的2元組可迭代的字典時,它可以構造一個字典。 您的enumerate(..)生成具有該鍵和值的元組。

如果要更新字典(即添加新值或更新現有值),可以編寫:

dictItem.update(enumerate(line))

你可以試試:

dictItem.update(enumerate(line))

例如:

>>> a = {}
>>> a.update(enumerate([4, 5, 6]))
>>> a
{0: 4, 1: 5, 2: 6}

嘗試這個,

{pos:val for pos,val in enumerate(line)}

興奮,

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}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM