python——next()函数
一、概述
Python 3有一个内置函数next(),它通过调用其next ()方法从迭代器中检索下一个项目。 如果给定了默认值,则在迭代器耗尽返回此默认值,否则会引发StopIteration。 该方法可用于从文件对象读取下一个输入行。
next() 返回迭代器的下一个项目。
next() 函数要和生成迭代器的 iter() 函数一起使用。
二、语法和参数说明
语法
以下是next()方法的语法 –
next(iterator[,default])
参数
- iterator − 要读取行的文件对象
- default − 如果迭代器耗尽则返回此默认值。 如果没有给出此默认值,则抛出 StopIteration 异常
返回值
此方法返回下一个输入行
三、实例说明
(一) 函数必须接收一个可迭代对象参数,每次调用的时候,返回可迭代对象的下一个元素。如果所有元素均已经返回过,则抛出StopIteration 异常。
a = [1,2,3,4]
it = iter(a)
print (next(it))
print (next(it))
print (next(it))
print (next(it))
print (next(it))
输出结果:
(二)函数可以接收一个可选的default参数,传入default参数后,如果可迭代对象还有元素没有返回,则依次返回其元素值,如果所有元素已经返回,则返回default指定的默认值而不抛出StopIteration 异常。
a = [1,2,3,4]
it = iter(a)
print (next(it,5))
print (next(it,5))
print (next(it,5))
print (next(it,5))
print (next(it,5))
print (next(it,5)) #所有元素都已经返回,现在就返回default指定的默认值5了
输出结果:
(三)如果传入第二个参数, 获取最后一个元素之后, 下一次next返回该默认值, 而不会抛出 StopIteration:
b = [1,3,5,7,9] #列表定义为变量b
it = iter(b) #定义变量it获得变量b的Interator对象
while True: #开始进行循环
try:
x = next(it) #输出it值
print (x,end=" ")
except StopIteration:#遇到StopIteration就退出循环
break
print ('\n----------------')
输出结果:
来源:xiaochuhe.