すべての記事

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

広告この記事には広告・アフィリエイトリンクが含まれる場合があります。

目次

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

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

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

目的

講座名

到達点

レベル/前提

想定時間

こんな人に

評価

現場志向でPython×DSを通しで習得

米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座

Python基礎〜NumPy/Pandas/
Matplotlib/Seaborn、
Docker+JupyterLabでの環境構築までハンズオン

初心者〜初級(Mac推奨/軽いプログラミング経験があると◎)

24時間

Pythonの基礎固めは完了し、ステップアップをしたいかた

 
[review_stars 4.5/5]

広く一式を“ブートキャンプ”形式で学ぶ

【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜

統計・Python(Numpy/Pandas)〜機械学習(scikit-learn/TensorFlow)・可視化・Tableauまで網羅

初心者OK

26時間

データサイエンスとは何をする職業なのか知りたいかた

 
[review_stars 4/5]

AI/機械学習の入門(Colab対応・数学やさしめ)

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2025年最新版】

Python基礎+機械学習の基本(文字認識・株価分析などの小プロジェクト)をColabで体験

超初心者〜初級(中学数学レベルで可)

10時間

手を動かしてAIを学習したいかた

 
[review_stars 3/5]

イテラブルとは

イテラブル(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つずつ返す

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

参考(おすすめ教材)

コメント

コメントはまだありません