有許多方法可以在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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。