Pythonのenumerate関数でfor文のインデックスを取得


press
Pythonのenumerate関数でfor文のインデックスを取得

Pythonのenumerate関数でfor文のインデックスを取得

enumerate関数を使うとPythonでforを書くときに処理毎にカウントアップしたり、値を代入したりといった処理が簡単にできるので便利です。

実際の開発でよくある最初のループでは処理を飛ばして、2回目以降の処理でインデックスを振っていくプログラムをenumerate関数を使って書きます。

enumerateを使うパターンと使わないパターン、後半のリスト作成ではリスト内包表記を使うパターンと使わないパターンの説明をします。

enumerateを使わない書き方

Pythonのenumerate関数でfor文のインデックスを取得
l = ["a", "b", "c"]
i = 0
for v in l:
    if i > 0:
        i += 1
        print(f"list_{i}")
    else:
        i +=1
        print(f"list")

インデックス用の変数を用意したり、ループ中でカウントアップしたりと細かいコードが増えます。

enumerateを使った書き方

Pythonのenumerate関数でfor文のインデックスを取得
l = ["a", "b", "c"]
for i, v in enumerate(l):
    if i > 0:
        print(f"list_{i}")
    else:
        print(f"list")

enumerateを使うとインデックスを取得するコードを書かなくてよいので、記述量が少なくなりスッキリとしています。

リスト内包表記を使わないリスト作成の書き方

Pythonのenumerate関数でfor文のインデックスを取得
l = ["a", "b", "c"]
some_var = []
for i, v in enumerate(l):
    if i > 0:
        some_var.append(f"list_{i}")
    else:
        some_var.append(f"list")

some_var

格納用の空リストをはじめに用意して処理ごとにアペンドします。

リスト内包表記を使ったリスト作成の書き方

Pythonのenumerate関数でfor文のインデックスを取得
l = ["a", "b", "c"]
some_var = [f"list_{i}" if i > 0 else f"list" for i, v in enumerate(l)]
some_var

リスト内包表記を使うと6行分のコードを1行で書くことができます。


株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    Related Articles

    AWS

    AWSのCloud9を使ってPythonのプログラミング研修を開催

    AWSのCloud9を使ってPythonのプログラミング研修を開催 2022年11月から2023年2月までの期間で、群馬県庁職員を対象にしたDXを促進するためのPythonによるプログラミング研修を開催しました。現在、群 […]

    Posted on by press
    Python

    Pythonでディレクトリ内のファイルを取得する

    globモジュールを使いディレクトリ内にあるファイルを取得する方法です。 ディレクトリ構造 まずはディレクトリ内のjpgを全て取得します。 directory = (os.getcwd())で現在のディレクトリのパスを取 […]

    Posted on by press

    最新情報をお届けします!

    メーリングリストに登録するとファントムの最新情報をお届けします

    お客様のメールアドレスを共有することはありません