Pythonのforループで反復カウンタにアクセスする方法はありますか?Pythonのforループで反復カウンタにアクセスする方法はありますか?
私は通常、自分の変数を使用して、どのループでもそれを増やします。より平凡な方法がありますか?
Pythonのforループで反復カウンタにアクセスする方法はありますか?Pythonのforループで反復カウンタにアクセスする方法はありますか?
私は通常、自分の変数を使用して、どのループでもそれを増やします。より平凡な方法がありますか?
使用enumerate
:
sequence = [1, 45, 65, 7]
for i, val in enumerate(sequence):
print i, val
出力:
0 1
1 45
2 65
3 7
素敵なトリック。ありがとう!新しいことを学びました。 –
だけでなく、あなたがenumerate
組み込みを使用しますが、それはあまり知られていないオプションの二番目のパラメータを持つことができ、値がで起動するには:
f = open(...)
for linenumber, line in enumerate(f, 1):
# etc.
このようにすれば、要素をより自然に最初の要素でゼロになるのではなく、1つの場所を追加する必要があります。
カウンタはありません!さて、イテレータの中には数えられる配列のようなオブジェクトの特殊なケースがありますが、一般的にはそれは毎回次の値を提供することを要求するイテレータオブジェクトです。 – delnan