enumerate関数(Python)

前回のエントリーでは複数のリストを辞書として登録するzip関数の使い方を学びました。今回はfor ループでリストのインデックスを扱う、enumerate関数の使い方をめも。

Titles =[
       "Bittersweet - Radio Edit",
        "Anchor",
        "Get There",
        "Set Me Free",
        "Untouchable",
]
Artists = [
        "Dyro",
        "Tritonal",
        "Paris Blohm",
        "Dyro",
        "Tritonal",
]

例えば、タイトルとアーティストの2つのリストをインデックス変数を含めて処理したいときに、for ループの変数に< , > を付けて併記したいとします。ループで取り出した要素がリストの何番目かをPythonが自動的にインデックス値として用意してくれるのがenumerate関数というわけですね。

for i, (Titles, Artists) in enumerate(zip(Titles, Artists)):
    print(i, Titles,"/", Artists)

前回の応用でenumerate関数の引数に2つのリストをzip関数でまとめて渡せばOK。インデックスと2つのリストの処理をいろいろやってくれるスゴイやつです。良いですね。

0 Bittersweet - Radio Edit / Dyro
1 Anchor / Tritonal
2 Get There / Paris Blohm
3 Set Me Free / Dyro
4 Untouchable / Tritonal