python内置函数next详解

next函数功能作用

python内置函数next通过调用对象的__next__方法从迭代器中取值,当迭代器耗尽又没有为next函数设置default默认值参数,使用next函数将引发StopIteration异常。

next函数语法

next(iterator[, default])

参数

  • 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

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案