【Python】イテラブルオブジェクトとは

PythonのTopに戻る


イテラブルオブジェクトとは

・イテラブルオブジェクト
・使用例

 

 イテラブルオブジェクト

繰り返し処理が可能であるような性質をもつことを “iterable”、すなわち「反復可能である」と言う。これが「イテラブル(iterable)」の意味である。つまり「イテラブルオブジェクト」とは、for文などで要素を1つずつ取り出して処理できるような(通常、複数の要素からなる)オブジェクトを指す用語である。

例えばリスト辞書タプルなどはイテラブルオブジェクトである。Pythonに慣れ親しんでいる人にとっては意外かもしれないが、文字列もイテラブルオブジェクトの仲間である。いずれの型もループ処理で要素を取り出して何らかの操作を行うことができる。

# リスト
l = [1,2,3]

# 辞書
d = {'key1':'Hello', 'key2':'World'}

# タプル
t = ('Hello', 'World')

# セット(集合)
s = {'Hello', 'World'}

# 文字列
str = 'japan'
イテラブルオブジェクトの例

なお、「イテラブルオブジェクト」はPython独自の用語というわけではなく、プログラミング一般に使われる用語である。

 

 使用例

Pythonでは以下のようにfor文でイテラブルオブジェクトが扱える。

for 変数 in イテラブルオブジェクト:
    処理
for文でイテラブルオブジェクトを扱う

例えば配列の要素を書き出すコードは次のように書くことができる。

l = ["a", "b", "c"]

for i in l:
    print(i)

上のプログラムの i という変数はイテレータと呼ばれるもので、リストの中の要素を逐次受け取る。enumerate関数を用いて要素の番号を取得するには以下のようにする。

l = 'japan'

for i, str in enumerate(l):
    print(i, str)

enumerate関数の返り値は2つなので、イテレータも2つ用意しなければならないことに注意。


PythonのTopに戻る