1. 程式人生 > >python中的next()以及iter()函式

python中的next()以及iter()函式

我們首先要知道什麼是可迭代的物件(可以用for迴圈的物件)Iterable

一類:list,tuple,dict,set,str

二類:generator,包含生成器和帶yield的generatoe function

而生成器不但可以作用於for,還可以被next()函式不斷呼叫並返回下一個值,可以被next()函式不斷返回下一個值的物件稱為迭代器:Iterator

生成器都是Iterator物件,但list,dict,str是Iterable,但不是Iterator,要把list,dict,str等Iterable轉換為Iterator可以使用iter()函式

next()用法:

next(iterator
[,default])
  • iterator -- 可迭代物件
  • default -- 可選,用於設定在沒有下一個元素時返回該預設值,如果不設定,又沒有下一個元素則會觸發 StopIteration 異常。
>>> list_ = [1,2,3,4,5]
>>> it = iter(list_)
>>> next(it,'-1')
1
>>> next(it,'-1')
2
>>> next(it,'-1')
3
>>> next(it,'-1')
4
>>> next(it,'-1')
5
>>> next(it,'-1')
'-1'

參考:

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143178254193589df9c612d2449618ea460e7a672a366000