有许多方法可以在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类型容器的组件的实用程序函数。它的用途是当容器的大小未知时,或者当列表/迭代器用尽时,我们需要给出提示。
相关用法
- Python os.dup()用法及代码示例
- Python set()用法及代码示例
- Python sys.getrecursionlimit()用法及代码示例
- Python PIL eval()用法及代码示例
- Python sympy.rf()用法及代码示例
- Python os.waitid()用法及代码示例
- Python os.WIFEXITED()用法及代码示例
- Python os.scandir()用法及代码示例
- Python PIL getpalette()用法及代码示例
- Python sympy.ff()用法及代码示例
- Python Decimal max()用法及代码示例
- Python sympy.nT()用法及代码示例
- Python os.sync()用法及代码示例
- Python getattr()用法及代码示例
注:本文由纯净天空筛选整理自manjeet_04大神的英文原创作品 Python | next() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。