python内置函数next通过调用对象的__next__方法从迭代器中取值,当迭代器耗尽又没有为next函数设置default默认值参数,使用next函数将引发StopIteration异常。
next(iterator[, default])
迭代器中的元素
>>> lst = [1, 2, 3]
>>> lst_iter = iter(lst)
>>> next(lst_iter)
1
>>> next(lst_iter)
2
>>> next(lst_iter)
3
>>> next(lst_iter)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>> next(lst_iter, 0)
0
列表lst是可迭代对象,iter函数一个迭代器,next函数作用于迭代器,每一次都从迭代器中取出一个元素。列表里共有3个元素,3次调用next函数后,迭代器已经耗尽,因此第4次调用next函数将引发StopIteration异常。第5次调用next函数时,我为其指定了default参数,如果迭代器耗尽,则返回默认值0。
QQ交流群: 211426309