一、概述

Python 3有一个内置函数next(),它通过调用其next ()方法从迭代器中检索下一个项目。 如果给定了默认值,则在迭代器耗尽返回此默认值,否则会引发StopIteration。 该方法可用于从文件对象读取下一个输入行。

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

next() 函数要和生成迭代器的 iter() 函数一起使用。


二、语法和参数说明

语法

以下是next()方法的语法 –

next(iterator[,default])

参数

  1. iterator − 要读取行的文件对象
  2. 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.

物联沃分享整理
物联沃-IOTWORD物联网 » python——next()函数

发表评论