Python

【Python】イテレータとは?

以下書籍を勉強していく上での備忘録

第3版Python機械学習プログラミング
-達人データサイエンティストによる理論と実装-

この書籍は当ブログでもこれからも紹介していく予定ですが、初学者でも機械学習を体系的に学習できるのでおすすめです。

イテレータとは

Pythonにおけるイテレータとは、リストなどの複数の要素をもったデータ型に対して、順番にデータを取り出す機能のことです。
Python以外の言語では違う使い方をされるようなので注意。
書籍ではk分割交差検証の解説がある部分などで登場していますが、イテレータは「繰り返し」と理解しておけば大丈夫です。

以下具体的なコードにて説明

>>> a = [2, 100, 0.51, "abc", "DEF"] # リストaを定義
>>> i = iter(a) # iter() 関数でリストをイテレータに変換し、変数iにイテレータを代入

>>> next(i) # next()関数が実行される度にリスト内を順番に取り出し
2
>>> next(i)
100
>>> next(i)
0.51
>>> next(i)
'abc'
>>> next(i)
'DEF'
>>> next(i)
Traceback (most recent call last): # 6回目は要素が存在しないため、StopIteration
 File"<stdio>", line 1, in <module>
StopIteration