【Python】enumerateで途中から始める方法

Python

こんにちは、しらすです。

enumerateが便利なので良く使用するのですが、1つ目からではなく途中から処理をスタートしたいときにどうするか気になったので調べました。Tipsとして記録。

第二引数に処理を開始したいインデックスを指定できる!

enumerateの第二引数が開始インデックスを指定する引数になっています。デフォルトは0で指定されています。

ex. 例えばIndexを0空ではなく3から始めたい場合は3と指定`

li = [1,2,3,4,5,6]

for i, x in enumerate(li,3):
    print(i, x)

ただし、これはIndexの開始番号が選べるだけです。そのため出力は以下のようにIndexが途中から始まるだけで引数となっているliは全て表示されます。

イテレーションするリスト側も途中から始めたい場合

上記の例でliも途中の3つ目(3)から始めたいときは以下のようにスライスします。

li = [1,2,3,4,5,6]

for i, x in enumerate(li[3:],3):
    print(i, x)

コメント