イテレーターが良く分かっていないんだけど

イテレータ(iterator)は、Pythonのデータ構造の一種であり、反復可能なオブジェクトです。具体的には、forループで使用されるオブジェクトやiter()関数で取得されるオブジェクトです。

イテレータは、__iter__()__next__()という2つの特殊メソッドを実装するオブジェクトです。__iter__()メソッドは、イテレータ自体を返し、__next__()メソッドは次の要素を返します。イテレータが最後の要素に達すると、__next__()メソッドはStopIteration例外を発生させます。

例えば、リストやタプルなどのデータ構造はイテレータとして使うことができます。

以下は、リストをイテレータとして使う例です。

python
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 を出力

iter()関数を使ってリストをイテレータに変換し、next()関数を使ってイテレータから要素を取得しています。要素がなくなると、StopIteration例外が発生します。

イテレータを使うことで、大規模なデータセットや無限のシーケンスをメモリに一度にロードすることなく、効率的に処理することができます。イテレータは、Pythonの反復処理やジェネレータなど、多くの場面で活用されています。

未分類

Posted by ぼっち