06ジェネレータとイテレータ

イテレータ

イテレータはコレクション要素にアクセスする方法です。すべての要素は、セッションが終わってアクセスされるまで、イテレータオブジェクトは、コレクションの最初の要素からの訪問を始めました。イテレータは、前方、後方ではない移動することができますが、人々はめったに反復方法で戻っていないので、それは、OKです。また、イテレータの主な利点は、すべての要素の反復プロセスを通して事前に用意する必要がありません。反復子反復計算する場合にのみ要素の要素、および要素が存在しないか、または破壊される前または後。この機能は、複数のファイルGとして、いくつかの巨大なまたは無限集合を、横断するのに特に適しています

特徴:

  1. 訪問者は、イテレータの内部構造を心配する必要はありません、のみ()メソッドは、次の内容によって除去され続け
  2. 値のランダムなセットのみを最初から最後まで順番にアクセスすることができますアクセスできません。
  3. 後半へのアクセスが後退することはできません
  4. サイクルは、メモリを節約するために、データの比較的大きなセットを容易に

ジェネレータ

関数呼び出しはイテレータを返す場合、この関数は、発電機(ジェネレータ)と呼ばれ、収率は関数の構文に含まれている場合、これは関数発生器となるであろう。

def func():
    yield 1
    yield 2
    yield 3

上記のコード:関数func()の実行はイテレータを取得する際、FUNCジェネレータ関数が呼び出されます。

temp = func()
print(temp.__next__())
print(temp.__next__())
print(temp.__next__())

==ジェネレータに遭遇したとき、==ループの反復のための次の方法の代わりに使用することができます

おすすめ

転載: www.cnblogs.com/chenych/p/10939676.html