当前位置: 首页>>代码示例>>用法及示例精选>>正文


Python - next()用法及代码示例

有许多方法可以在Python中进行迭代。 next()方法还在迭代器上执行类似的任务。在未指定长度且不允许使用内置函数的情况下,它可以替代迭代。

语法:next(iter,stopdef)

参数:
iter:要在其上执行迭代的迭代器。
stopdef:如果到达迭代器的末尾,则要打印的默认值。


返回:返回列表中的下一个元素,如果不存在,则显示默认值。如果不存在默认值,则会引发StopIteration错误。

代码1:演示next()的工作

# Python code to demonstrate 
# working of next() 
  
# initializing list 
list1 = [1, 2, 3, 4, 5] 
  
# converting list to iterator 
list1 = iter(list1) 
  
print ("The contents of list are:") 
  
# printing using next() 
# using default 
while (1):
    val = next(list1,'end') 
    if val == 'end':
        print ('list end') 
        break
    else :
        print (val)

输出:

The contents of list are:
1
2
3
4
5
list end


代码2:性能分析

# Python code to demonstrate 
# next() vs for loop 
import time 
  
# initializing list 
list1 = [1, 2, 3, 4, 5] 
  
# keeping list2 
list2 = list1 
  
# converting list to iterator 
list1 = iter(list1) 
  
print ("The contents of list are:") 
  
# printing using next() 
# using default 
start_next = time.time() 
while (1):
    val = next(list1,'end') 
    if val == 'end':
        break
    else :
        print (val) 
print ("Time taken for next() is:" + str(time.time() - start_next)) 
  
# printing using for loop 
start_for = time.time() 
for i in list2:
    print (i) 
print ("Time taken for loop is:" + str(time.time() - start_for))

输出:

The contents of list are:
1
2
3
4
5
Time taken for next() is:5.96046447754e-06
1
2
3
4
5
Time taken for loop is:1.90734863281e-06

结果:打印列表内容时,与next()相比,for循环是更好的选择。

应用范围:next()是用于打印iter类型容器的组件的实用程序功能。它的用途是当容器的大小未知时,或者当列表/迭代器用尽时,我们需要给出提示。



相关用法

注:本文由纯净天空筛选整理自manjeet_04大神的英文原创作品 Python | next() method。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。