プログラミングの用語一覧へ
このページの目次

イテレーションとは?

読み方:イテレーション

最終更新:2026/08/18

3秒でわかる

要素を順に取り出して同じ処理を繰り返すこと。ループの正式な呼び名で、反復子を通して先頭から末尾までを一巡する動きを指します。

もう少し詳しく

どういうものか

イテレーションは、集まりの中の要素を先頭から順に1つずつ取り出して同じ処理を繰り返すことです。日本語では反復と訳します。多くの言語には、この繰り返しを担当する反復子という仕組みがあり、次の要素を取り出す操作と、もう要素が無いことを伝える操作を持っています。for文はその反復子を裏で回しているだけです。なお、アジャイル開発では1〜4週間の開発サイクルもイテレーションと呼びます。同じ語で別の概念を指すので、文脈で読み分けます。

なぜ必要か

添字を自分で管理する書き方は、最後の1件を処理し損ねる誤りや、範囲外へはみ出す誤りを生みます。反復子に任せると、終わりの判定を書かなくてよくなり、こうした境界の間違いが構造的に起きなくなります。さらに、要素を先に全部作らず必要になった時点で1つずつ生成する遅延評価が可能になり、巨大なファイルを1行ずつ処理してもメモリを使い切りません。

具体例

rows = ["apple,3", "banana,5", "cherry,2"] # 反復子に任せる書き方。終端の判定を書かなくてよい for row in rows: name, count = row.split(",") print(name, int(count)) # 添字と値の両方が要るときは enumerate を使う for i, row in enumerate(rows, start=1): print(i, row) # ファイルは1行ずつ取り出されるので、巨大でもメモリに載せずに済む with open("access.log") as f: for line in f: if "500" in line: print(line.rstrip())

つまずきやすいところ

繰り返しの最中に元のリストへ追加や削除を行うと、要素が飛ばされたり無限に回り続けたりします。消すときは新しいリストを作るか、後ろから走査します。もうひとつはジェネレータの使い切りです。一度最後まで回した反復子は空になっているため、二度目のループでは何も出てきません。二度使うならリストへ変換してから回します。

似た用語との違い

意味
イテレーション要素を順に処理する繰り返しそのもの
イテラブル繰り返しの対象にできる集まり
イテレータ次の要素を取り出す役目を持つ実体
再帰関数が自分自身を呼んで繰り返す別の手段


覚え方

添字を自分で数え始めたら、その言語に用意された反復の書き方を探すほうが速い、と考えると誤りを減らせます。何番目かではなく、次は何か、という問いに置き換えるのが反復子の発想です。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地イテレーションプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python入門:基礎文法編

74レッスン
コース

JavaScript入門:コードを動かす

23レッスン
コース

Python中級 内包表記・高階関数・クラス入門

58レッスン
Pythonコースの全編を見る