【Python 基礎】イテラブルとイテレータについてわかりやすく解説

  • URLをコピーしました!

今回は、初心者がつまずきやすいポイントのイテラブルとイテレータについて、解説します。

本記事では、サンプルコードを交えて、実務で役立つ使い方を説明していきたいと思います。

はじめに、イテラブルとイテレータは、ひとことでいうと以下の通りです。

スクロールできます
目的講座名到達点レベル/前提想定時間こんな人に評価
現場志向でPython×DSを通しで習得米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座Python基礎〜NumPy/Pandas/
Matplotlib/Seaborn、
Docker+JupyterLabでの環境構築までハンズオン
初心者〜初級(Mac推奨/軽いプログラミング経験があると◎)24時間Pythonの基礎固めは完了し、ステップアップをしたいかた
広く一式を“ブートキャンプ”形式で学ぶ【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜統計・Python(Numpy/Pandas)〜機械学習(scikit-learn/TensorFlow)・可視化・Tableauまで網羅初心者OK26時間データサイエンスとは何をする職業なのか知りたいかた
AI/機械学習の入門(Colab対応・数学やさしめ)みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2025年最新版】Python基礎+機械学習の基本(文字認識・株価分析などの小プロジェクト)をColabで体験超初心者〜初級(中学数学レベルで可)10時間手を動かしてAIを学習したいかた
目次

イテラブルとは

イテラブル(Iterable)は、要素に順番があり、1つずつアクセス可能なオブジェクトです。

イテラブルオブジェクトには、リスト(List)、タプル(Tuple)、文字列(String)、辞書(Dictionary)、集合(Set)などがあります。

以下は、イテラブルのコードです。

# リストのイテラブル
my_list = [1, 2, 3, 4, 5]

for item in my_list:
    print(item) # リストの要素を1つずつ表示

# 文字列のイテラブル
my_string = "Hello"

for char in my_string:
    print(char) # 1文字ずつ表示

# 辞書のイテラブル
my_dict = {"name": "Bob", "age": 18, "country": "Japan"}

for key, value in my_dict.items():
    print(key, value) # キーとバリューを表示

– 出力結果

1
2
3
4
5
H
e
l
l
o
name Bob
age 18
country Japan

for文により、要素1つずつアクセスできることがわかります。

イテレータとは

逐次的にアクセス可能なオブジェクトです。

イテレータは、iter()関数を使用してイテラブルオブジェクトから生成されます。

生成したイテレータは、next()関数 で呼び出します。

コードを見たほうがイメージがつくと思います。

my_list = [1, 2, 3, 4, 5]
my_iterator = iter(my_list)  # イテラブルからイテレータを生成

print(next(my_iterator))  # 1つ目の要素を出力
print(next(my_iterator))  # 2つ目の要素を出力
print(next(my_iterator))  # 3つ目の要素を出力
print(next(my_iterator))  # 4つ目の要素を出力
print(next(my_iterator))  # 5つ目の要素を出力

# 定義した要素数以上を呼び出す
print(next(my_iterator))  # 6つ目の要素を出力

実行結果

1
2
3
4
5
---------------------------------------------------------------------------
StopIteration                             Traceback (most recent call last)
      9 
     10 # 定義した要素数以上を呼び出す
---> 11 print(next(my_iterator))  # 6つ目の要素を出力

StopIteration:

リストの要素をnext()関数 で1つずつ呼び出しています。

まとめ

今回はPython初学者がつまずきやすい、「イテラブル」と「イテレータ」について解説しました。

イテラブル(Iterable):反復可能な入れ物
リスト、タプル、辞書など

イテレータ(Iterator)next()でイテラブルから要素を1つずつ返す

これまで読んでくださりありがとうございます。

参考(おすすめ教材)

米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

エンジニア。20代。組み込みエンジニアとして働き始めるも、働き方や業務内容に限界を感じ、 AI,Web3エンジニアを目指して勉強中。 エンジニアとして思うことや、学んだことを発信します。

目次