スポンサーリンク

【Python入門】for文で使える便利関数3選|tqdm・zip・enumerateの使い方と活用例を解説!

Python入門

1. はじめに|for文がもっと便利になる関数を紹介!

Pythonを使っていると、繰り返し処理(ループ)をする場面ってたくさん出てきますよね。たとえばリストの中身を1つずつ取り出して表示したり、何かの処理を何回もくり返したり……そんなときに活躍するのがfor文です。

でも、for文をたくさん使っていると、こんなことを思ったことはありませんか?

  • 「このループ、あとどれくらいで終わるんだろう?
  • リストが2つあるんだけど、どうやって同時に回そう?」
  • 「今何番目の要素を処理してるんだっけ……?」

実は、こういった「ちょっと不便かも?」を簡単に解決してくれる関数がPythonにはちゃんと用意されています!

この記事では、そんな便利な関数たち――

  • tqdm(ループの進み具合を表示)
  • zip(複数のリストをまとめてループ)
  • enumerate(インデックス付きでループ)

この3つを、Python初心者にもわかるようにやさしく解説していきます。
for文にちょっとプラスするだけで、コードがもっと分かりやすく・使いやすくなりますよ!

それでは、さっそくひとつずつ見ていきましょう!




2. tqdm|処理の進捗が見えるプログレスバー

for文を使って、たくさんのデータを処理しているとき、「あとどれくらいで終わるんだろう?」って思ったことありませんか?
そんなときに便利なのが、**tqdm(ティー・キュー・ディー・エム)**というライブラリです。

✅ tqdmってなに?

tqdmは、ループの進み具合(進捗)をバーで表示してくれるツールです。
ループ処理に「あと〇%で終わるよ〜!」と視覚的に教えてくれるので、とっても安心感があります。

✅ インストールと使い方

tqdmはPythonに最初から入っているわけではないので、最初にインストールが必要です。
ターミナル(またはコマンドプロンプト)でこのコマンドを実行してください:

pip install tqdm

次に、Pythonのコードでtqdmを読み込むにはこうします:

from tqdm import tqdm

使い方はとっても簡単で、for文の中で「繰り返したいリストなど」をtqdm()で囲むだけ!

from tqdm import tqdm
import time

for i in tqdm(range(10)):
time.sleep(0.5) # ちょっと時間のかかる処理をイメージ

実行すると、ターミナル上に「█」が伸びていくプログレスバーが出てきます!

✅ どんな情報が見られるの?

tqdmを使うと、以下のような情報が一目でわかります:

  • 現在の進み具合(%表示)
  • 終わった回数 / 全体の回数
  • 経過時間・残り時間(予想)

「まだ半分か〜」「あと10秒で終わる!」など、作業の見通しが立つのでとても便利です。

✅ tqdmのここがすごい!

  • 大量のデータ処理でも安心感あり!
    → どこまで終わったか分かるので、ストレスが減ります。
  • 処理が遅い時に気づける!
    → 進みが遅いと感じたら、コードを見直すチャンス!
  • Jupyter Notebookでも使える!
    from tqdm.notebook import tqdmとすれば、ノートブックにも対応。



3. zip|複数のリストを同時にループ処理

Pythonでfor文を使っていると、**2つのリストを同時に扱いたい!**ということがあります。

たとえば…

名前リスト = ["太郎", "花子", "次郎"]
点数リスト = [80, 90, 75]

この2つのリストを同じ順番で1人ずつ表示したいとき、どうすればいいでしょう?

ここで登場するのが、便利な関数 zip() です!


✅ zipってなに?

zip()は、複数のリストや繰り返しオブジェクトを1つずつまとめてくれる関数です。
使い方はとてもシンプル!

for 名前, 点数 in zip(名前リスト, 点数リスト):
print(f"{名前}さんの点数は{点数}点です")

これを実行すると、こんなふうに出力されます:

太郎さんの点数は80点です  
花子さんの点数は90点です
次郎さんの点数は75点です

1つ目のリストの1番目と、2つ目のリストの1番目がセットで処理される感じですね。


✅ zipのポイントまとめ

  • 複数のリストやタプルを「ペア」にして同時に処理できる
  • 3つ以上のリストも組み合わせられる!(例:zip(A, B, C)
  • リストの中身を対応づけて処理したいときにピッタリ!

✅ 注意点:リストの長さが違うと?

zip()は、一番短いリストに合わせて止まるようになっています。

A = [1, 2, 3]
B = ["a", "b"]

for x, y in zip(A, B):
print(x, y)

このコードでは、(1, "a")(2, "b") までしか表示されません。
**3と”c”**のようなペアが存在しないので、そこまででループが終わります。

zipは、データを組み合わせて処理したいときの定番です。
データの「セット」を扱う感覚で覚えておくと、後でとっても役に立ちますよ!




4. enumerate|インデックス付きで繰り返す

Pythonのfor文でリストを繰り返すとき、「この要素って何番目なんだろう?」と思ったことはありませんか?

そんなときに使えるのが、**enumerate()(エニュメレート)**という関数です。


✅ enumerateってなに?

enumerate()は、リストなどの繰り返しオブジェクトに番号(インデックス)を自動で付けてくれる関数です。

ふつうのfor文では、こう書きますよね:

果物リスト = ["りんご", "バナナ", "みかん"]

for 果物 in 果物リスト:
print(果物)

でも「何番目か」も一緒に表示したいなら、enumerate()を使うととっても簡単!

for i, 果物 in enumerate(果物リスト):
print(f"{i}番目の果物は{果物}です")

実行結果:

0番目の果物はりんごです  
1番目の果物はバナナです
2番目の果物はみかんです

番号(インデックス)と一緒に要素が出てきます!


✅ start引数で番号を1から始める

Pythonでは番号(インデックス)は0からスタートするのが基本ですが、「1番目、2番目…」のように表示したいときもありますよね。

そんなときは、start=1をつけるだけ!

for i, 果物 in enumerate(果物リスト, start=1):
print(f"{i}番目の果物は{果物}です")

これで出力はこうなります:

1番目の果物はりんごです  
2番目の果物はバナナです
3番目の果物はみかんです

✅ enumerateの活用シーン

  • データに順位をつけたいとき
  • ループ処理で**「何件目か」を表示したいとき**
  • インデックス番号をもとに条件分岐したいとき(たとえば、3番目だけ特別な処理をする など)

enumerateを使えば、わざわざrange(len(リスト))のような書き方をしなくても、番号と要素のペアをスマートに扱えます。

Pythonで繰り返し処理をたくさん書く人にとって、知っておくと必ず役立つ関数ですよ!




5. まとめ|for文 × 便利関数でコードの質が上がる!

この記事では、Pythonのfor文と一緒に使うととっても便利な3つの関数をご紹介しました。

  • tqdm:ループの進捗をプログレスバーで見える化
  • zip:複数のリストをペアにして同時にループ
  • enumerate:要素とその番号(インデックス)をセットでループ

どれも書き方はかんたんなのに、コードの読みやすさ・使いやすさ・効率が一気にアップするすぐれものです。

「Pythonのコードって読みにくいな…」
「for文ってもっと賢く使えないかな?」
そんなときは、ぜひ今回紹介した関数たちを使ってみてください。

少し工夫するだけで、見やすくてバグが出にくいコードが書けるようになりますよ!


あわせて読みたい

for文と便利関数をマスターしたら、次はこちらもチェック!


よくある質問(Q&A)

Q
tqdmはJupyter Notebookでも使えますか?
A

はい、使えます!
Jupyter Notebookの場合は、次のように書くときれいに表示されます:

from tqdm.notebook import tqdm
Q
zipでリストの長さが違うとどうなりますか?
A

一番短いリストに合わせて、ループが途中で終わります。
たとえば、3つと2つのリストをzipした場合、2つ目のリストに合わせて2回だけループします。

Q
enumerateでインデックスを1から始めたいんだけど?
A

できます!次のようにstart=1を指定すればOKです:

for i, val in enumerate(リスト, start=1):
print(i, val)

※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。

※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。

スポンサーリンク