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__()
方法。