13

辞書の場合、解析されたアイテムの数を追跡したいと考えています。以下に示すものと比較して、それを行うためのより良い方法はありますか?

count = 0
for key,value in my_dict.items():
     count += 1
     print key,value, count
4

1 に答える 1

35

enumerate()関数を使用できます:

for count, (key, value) in enumerate(my_dict.items(), 1):
    print key, value, count

enumerate()ループしているイテレータにカウントを効率的に追加します。上記の例では、あなたの例に合わせてenumerate()カウントを開始するように指示しています。1デフォルトは 0 から始まります。

デモ:

>>> somedict = {'foo': 'bar', 42: 'Life, the Universe and Everything', 'monty': 'python'}
>>> for count, (key, value) in enumerate(somedict.items(), 1):
...     print key, value, count
... 
42 Life, the Universe and Everything 1
foo bar 2
monty python 3
于 2013-06-06T23:10:18.977 に答える