range类型(Python)

  1. 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
  1. 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
>>> 

zipmapfilter都不允许 multiple iterators。它们的 iter 就是它们本身,因为不需要专门使用 iter 函数。

原文地址:https://www.cnblogs.com/yaos/p/6985655.html