Python next()

next() 函数返回迭代器中的下一个项目。

示例

marks = [65, 71, 68, 74, 61]

# convert list to iterator
iterator_marks = iter(marks)

# the next element is the first element marks_1 = next(iterator_marks)
print(marks_1)
# find the next element which is the second element marks_2 = next(iterator_marks)
print(marks_2) # Output: 65 # 71

next() 语法

next() 的语法是

next(iterator, default)

next() 参数

  • 迭代器 - next()迭代器中检索下一个项目
  • 默认值 (可选) - 如果迭代器耗尽(没有下一个项目),则返回此值

next() 返回值

  • next() 函数返回迭代器中的下一个项目。
  • 如果迭代器耗尽,它将返回作为参数传递的默认值
  • 如果省略默认值参数且迭代器耗尽,它将引发 StopIteration 异常。

示例 1:获取下一个项目

random = [5, 9, 'cat']

# converting the list to an iterator
random_iterator = iter(random)
print(random_iterator)

# Output: 5
print(next(random_iterator))

# Output: 9
print(next(random_iterator))

# Output: 'cat'
print(next(random_iterator))
# This will raise Error # iterator is exhausted
print(next(random_iterator))

输出

<list_iterator object at 0x7feb49032b00>
5
9
cat
Traceback (most recent call last):
  File "python", line 18, in <module>
StopIteration

列表是可迭代对象,您可以使用 Python 中的 iter() 函数从中获取其迭代器

了解更多关于

我们在上面程序的最后一条语句中收到了一个错误,因为我们试图在没有下一个项目可用时(迭代器耗尽)获取下一个项目。

在这种情况下,您可以将默认值作为第二个参数给出。


示例 2:将默认值传递给 next()

random = [5, 9]

# converting the list to an iterator
random_iterator = iter(random)

# Output: 5
print(next(random_iterator, '-1'))
# Output: 9 print(next(random_iterator, '-1')) # random_iterator is exhausted # Output: '-1'
print(next(random_iterator, '-1'))
print(next(random_iterator, '-1')) print(next(random_iterator, '-1'))

输出

5
9
-1
-1
-1

注意:在内部,next() 调用 __next__() 方法。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战