2017-02-06 4 views
1

リストをループし、辞書のキーとして値を追加し、その値としてリスト内の位置を追加する方法はありますか? 次のようなもの:Pythonは同時にループし、列挙し、辞書に追加します

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

1行にありますか?

+0

辞書には既に要素が含まれていますか? –

+0

'の値を辞書のキーとして、その値をリスト中のその位置に置きます。 – MYGz

+1

'dict(列挙)')は、必要な辞書を得なければなりません。 –

答えて

5

、これを試してください:あなたはそれを与えるとき

dictItem = dict(enumerate(line)) 

dict(..)辞書を構築することができます反復可能キーの値がの2タプルのうちの10個enumerate(..)は、そのキーと値を持つタプルを生成します。例えば

dictItem.update(enumerate(line)) 

dictItem.update(enumerate(line)) 
+0

すごい、それを釘付け。 –

+0

私の考えもそうだけど、実際にはOPが 'dict'を更新したいと思っているのですが、それぞれの項目に対して別々のものを作成しません。 –

+0

Modified。両方に感謝します。 –

1

あなたは単にdictコンストラクタに列挙を養うことができ

{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} 
2

あなたが試すことができます:あなたは更新辞書(つまり、新しい値を追加したり、既存のものを更新する)、あなたが書くことができますしたい場合は

>>> a = {} 
>>> a.update(enumerate([4, 5, 6])) 
>>> a 
{0: 4, 1: 5, 2: 6} 
関連する問題