イテレータ、イテラブル、反復とは何ですか? 質問する

イテレータ、イテラブル、反復とは何ですか? 質問する

Python の「iterable」、「iterator」、「iteration」とは何ですか? これらはどのように定義されますか?


参照:基本的なイテレータを構築するにはどうすればよいでしょうか?

ベストアンサー1

反復とは、何かの各項目を 1 つずつ取得することを意味する一般的な用語です。明示的または暗黙的なループを使用して項目のグループを処理するときはいつでも、それが反復です。

Python では、iterableiteratorには特定の意味があります。

反復可能オブジェクトは、イテレータ__iter__を返すメソッドを持つオブジェクト、またはゼロから始まる連続したインデックスを取得できるメソッドを定義するオブジェクトです (インデックスが有効でなくなったときに が発生します)。つまり、反復可能オブジェクトは、イテレータを取得できるオブジェクトです。__getitem__IndexError

イテレータnext、(Python 2) または__next__(Python 3) メソッドを持つオブジェクトです。

forPython でループ、map、リスト内包表記などを使用するときは常に、nextメソッドが自動的に呼び出され、イテレータから各項目が取得され、反復処理が実行されます。

学習を始めるのに良い場所はチュートリアルの反復子セクションそしてその標準型ページの反復子型セクション基本を理解したら、関数型プログラミング HOWTO の反復子セクション

おすすめ記事