Python 内建函数列表 > Python 的内置函数 next
Python 的内置函数 next() 是一个用于迭代器协议的重要函数,它能够从迭代器中获取下一个元素。next() 函数的基本语法如下:
next(iterator[, default])
其中:
iterator是一个可迭代对象(必须实现了__next__()方法的迭代器)default是可选参数,当迭代器耗尽时返回该默认值,若不提供默认值且迭代器耗尽则会抛出StopIteration异常
使用示例:
- 基本用法:
numbers = iter([1, 2, 3]) print(next(numbers)) # 输出:1 print(next(numbers)) # 输出:2 print(next(numbers)) # 输出:3 print(next(numbers)) # 引发 StopIteration - 使用默认值:
numbers = iter([1, 2]) print(next(numbers, 'end')) # 输出:1 print(next(numbers, 'end')) # 输出:2 print(next(numbers, 'end')) # 输出:end
应用场景:
- 手动控制迭代过程
- 处理大型数据集时按需获取数据
- 实现自定义的迭代行为
- 与
iter()函数配合使用来创建和操作迭代器
注意事项:
- 对普通序列(如列表、元组)直接使用
next()会引发 TypeError,需要先用iter()转换为迭代器 - 当迭代器耗尽时,如果不提供默认值则会抛出
StopIteration异常 - 在 for 循环中,Python 会自动处理
StopIteration,但直接使用next()时需要手动处理
高级用法示例:
with open('data.txt') as f:
header = next(f) # 获取文件第一行
for line in f: # 继续读取剩余内容
process(line)
在 Python 3 中,next() 实际上是调用迭代器的 __next__() 方法,这是 Python 迭代器协议的核心部分。