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