- range 不是 iterator
>>> R = range(3)
>>> next(R)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'range' object is not an iterator
- range 允许 multiple iterators,并且能记住每个iterator的位置。
>>> I1 = iter(R)
>>> next(I1)
0
>>> next(I1)
1
>>> I2 = iter(R)
>>> next(I2)
0
>>> next(I2)
1
>>> next(I1)
2
>>>
zip
,map
和 filter
都不允许 multiple iterators。它们的 iter 就是它们本身,因为不需要专门使用 iter 函数。