🦁

Pythonのenumerateの使い方

2024/09/07に公開

Python enumerateの使い方

for文と一緒に使うと便利なenumerateについて

具体的にどう便利かと言うと、
もっとも簡単な例はfor文で扱うと繰り返しの回数を自分でカウントする必要が無くなる

    animals = ['lion', 'bear', 'wolf', 'fox']

    for index, animal in enumerate(animals):
        print(f"index:{index}, animal:{aniaml}")

        # index:0 animal:lion
        # index:1 animal:bear
        # index:2 animal:wolf
        # index:3 animal:fox

enumerate()関数

enumerate() 自体はpythonインタプリンタの組み込み関数
引数は

  • iterable: シーケンスかiteratorあるいはイテレーションをサポートするその他のオブジェクト
    (listやdict,tupleなど)

  • start=0: キーワード引数がありenumerateオブジェクトのindexを0で無い数字から開始できる

    animals = ['lion', 'bear', 'wolf', 'fox']

    for index, animal in enumerate(animals, start=10):
        print(f"index:{index}, animal:{animal}")

        # index:10 animal:lion
        # index:11 animal:bear
        # index:12 animal:wolf
        # index:13 animal:fox

逆順にしてみる

インデックスを降順には出来ない
どうしても降順にしたければreversed()を使えばいい

    animals = ['lion', 'bear', 'wolf', 'fox']

    # enumerateオブジェクト自体はnot reversible(反転不可)なのでlistに変えてから反転させる
    for index, animal in reversed(list(enumerate(reversed(animals)))):
        print(f"index:{index}, animal:{animal}"))

    # index:3, animal:lion
    # index:2, animal:bear
    # index:1, animal:wolf
    # index:0, animal:fox

参考

Discussion