StopIteration
错误1.1
报错信息:
File "C:/Users/Sure/PyProject/week03/day11/exercise.py", line 59, in <module>
print(l.__next__())
StopIteration
错误代码:
lst = [1, 2, 3, 4, 5]
l = lst.__iter__()
print(l)
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())
错误原因:
迭代器中有多少个元素,就只能使用多少次.__next__()
方法,如果次数超过元素个数,会报错。
解决方法:
减少使用.__next__()
的次数,或者创建新的迭代器。
lst = [1, 2, 3, 4, 5]
l = lst.__iter__()
print(l)
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())
print(l.__next__())