📜  Python next()

📅  最后修改于: 2020-09-20 04:21:23             🧑  作者: Mango

next() 函数从迭代器返回下一项。

next()的语法为:

next(iterator, default)

next()参数

  1. 迭代器-next next()iterator检索下一项
  2. 默认值(可选)-如果迭代器已用尽,则返回此值(没有下一项)

从next()返回值

  1. next() 函数从迭代器返回下一项。
  2. 如果迭代器已用尽,它将返回作为参数传递的default值。
  3. 如果省略default参数,并且iterator已用尽,则会引发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))

输出


5
9
cat
Traceback (most recent call last):
  File "python", line 18, in 
StopIteration

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

学习更多关于

  1. Python迭代器
  2. Python iter() 函数

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

在这种情况下,您可以提供default值作为第二个参数。

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