iteratorは遅延リストの代わりにはならないよ
Pythonのイテレータは、itertools — Functions creating iterators for efficient looping — Python 3.7.3 documentationみたいなモジュールがあるくらいだし、わりと遅延リストの代わりに使える。
でも、やっぱりイテレータはイテレータであって、遅延リストじゃない。
例えば、同じイレレータをizipすると結果が変になっちゃう。
>>> from itertools import * >>> f = open('test') >>> list(izip(f,f)) [('1\n', '2\n'), ('3\n', '4\n'), ('5\n', '6\n')]
まあ、しょうがないよね。