什么是可迭代的對象(Iterable,即可以用for循環的對象)和迭代器(Iterator)
- Iterable:
- 一類是:list、tuple、dict、set、str
- 二類是:generator(都是Iterator對象),包含生成器和帶yield的generator function
生成器不但可以作用於for,還可以被next函數不斷調用並且返回下一個值,可以被next函數不斷調用返回下一個值的對象稱為迭代器(Iterator)。可迭代的對象如list、dict等需要用iter()函數轉化成Iterator。
next用法
next(iterator[, default])
iterator --可迭代對象
default --可選,用於設置在沒有下一個元素時返回該默認值,如果不設置,又沒有下一個元素則會觸發 StopIteration 異常。
實例演示
list_ = [1, 2, 3, 4, 5]
it = iter(list_)
for i in range(5):
line = next(it)
print("第%d 行, %s" %(i, line))
輸出結果:
第0 行, 1
第1 行, 2
第2 行, 3
第3 行, 4
第4 行, 5