next()是 Python 的内置函数之一,用于获取迭代器中的下一个元素。
函数语法
next(iterator[, default])
参数:
iterator:是一个迭代器对象;default:可选参数,当迭代器耗尽时返回的默认值;
next()函数返回迭代器的下一个元素,如果迭代器已耗尽,会抛出StopIteration异常;此时如果指定了default则可避免异常并返回default。
next() 函数示例
以下是next()函数的几个例子:
# 从列表中获取下一个元素
my_iter = iter([1, 2, 3, 4])
print(next(my_iter)) # 1
print(next(my_iter)) # 2
# next函数实际调用了__next__()方法
print(my_iter.__next__()) # 3
print(my_iter.__next__()) # 4
# 指定默认值
my_iter = iter([1, 2])
print(next(my_iter, 0)) # 1
print(next(my_iter, 0)) # 2
# 元素已耗尽,但不会抛出 StopIteration 异常
print(next(my_iter, 0)) # 0
next()函数实际上是调用了迭代器的__next__()方法:
class myclass:
def __next__(self):
return 1
a = myclass()
print(next(a)) # 1