耗尽的迭代器,但For循环没有错误

时间:2013-02-21 13:26:33

标签: python python-3.x iterator

(在Python 3.2中)

miters = map(abs,(-1,2,5))
for i in miters:
    print(i)
1
2
5

next(miters)
--> StopIteration

for i in miters:
    print(i)
--> ?? Nothing Happens..

为什么我不能在第二个for循环中获得'StopIteration'错误消息? 'miter'已经筋疲力尽,所以如果我再次循环,我认为会有一个'StopIteration'...

任何人都可以告诉我原因吗?

1 个答案:

答案 0 :(得分:4)

for循环使用StopIteration计算何时停止。所以它吞下了异常并立即停止。

相关问题