當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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