対私はそれ以下のプログラムは、私は発電機がイテレータとmore
であることを取得するイテレータとgenerator.Iの違いを理解しようとしてきました。 ジェネレータは、イテレータを生成するための簡潔で簡潔な方法です。 しかし、簡潔以外の発電機はイテレータはあなたが投稿したのpython3イテレータは、発電機
def squares(start, stop):
for i in range(start, stop):
yield i * i
generator = squares(1, 10)
print(list(generator))
class Squares(object):
def __init__(self, start, stop):
self.start = start
self.stop = stop
def __iter__(self):
return self
def __next__(self):
if self.start >= self.stop:
raise StopIteration
current = self.start * self.start
self.start += 1
return current
iterator = Squares(1, 10)
l = [next(iterator) for _ in range(1,10)]
print(l)
あなたはすでにそのトピックについていくつかの回答を読んでいますか?例えばhttp://stackoverflow.com/questions/2776829/difference-between-pythons-generators-and-iterators – idjaw
また、私は興味深い記事を見つけました:https://www.oreilly.com/ideas/2-great-benefits- – elethan
@idjaw - あなたが提供したリンクからこの例を取り上げました。 – liv2hak