Python next() 函数用法
2023-09-17 22:26:46
next()
方法通过调用其 __next__()
方法从迭代器返回下一项。
next() 语法:
next(iterator, default)
参数:
- 迭代器:使用 iter function 创建的迭代器对象。
- default:(可选)迭代器用尽时返回的默认值。
返回值:
返回迭代器中的下一个值。如果已返回最后一个值,则返回指定的默认值,如果未指定默认值,则引发StopIteration
错误。
下面的示例使用 next()
方法从迭代器中检索项。
nums = [1,2,3,4,5]
numitr = iter(nums)
print(next(numitr)) # prints 1
print(next(numitr)) # prints 2
print(next(numitr)) # prints 3
print(next(numitr)) # prints 4
print(next(numitr)) # prints 5
print(next(numitr)) # raise StopIteration error
输出:
1
2
3
4
5
Traceback (most recent call last):
File "<pyshell#152>", line 1, in <module>
print(next(numitr))
StopIteration
上面,在从集合返回所有值后调用next(numitr)
会引发StopIteration
错误。若要避免此错误,可以将默认值作为参数传递。
nums = [1,2,3,4,5]
numitr = iter(nums)
print(next(numitr, 0)) # prints 1
print(next(numitr, 0)) # prints 2
print(next(numitr, 0)) # prints 3
print(next(numitr, 0)) # prints 4
print(next(numitr, 0)) # prints 5
print(next(numitr, 0)) # prints 0
print(next(numitr, 0)) # prints 0
print(next(numitr, 0)) # prints 0
print(next(numitr, 0)) # prints 0
输出:
1
2
3
4
5
0
0
0
0