Python 迴圈器 iterator 的功能

2021-09-03 07:13:48 字數 971 閱讀 1081

迴圈器(iterator)的功能

迴圈器(迭代器)是物件的容器,包含有多個物件。通過呼叫迴圈器的next()方法 (__next__()方法,在python 3.x中),迴圈器將依次返回乙個物件。直到所有的物件遍歷窮盡,迴圈器將舉出stopiteration錯誤。

在for i in iterator結構中,迴圈器每次返回的物件將賦予給i,直到迴圈結束。使用iter()內建函式,我們可以將諸如表、字典等容器變為迴圈器。比如

for i in iter([2, 4, 5, 6]):

print(i)

>>> a=iter([2, 4, 5, 6])

>>> while true:

next(a)

標準庫中的itertools包提供了更加靈活的生成迴圈器的工具。這些工具的輸入大都是已有的迴圈器。另一方面,這些工具完全可以自行使用python實現,該包只是提供了一種比較標準、高效的實現方式。這也符合python「只有且最好只有解決方案」的理念。

# import the tools

from itertools import *

無窮迴圈器

count(5, 2)     #從5開始的整數迴圈器,每次增加2,即5, 7, 9, 11, 13, 15 ...

cycle('abc')    #重複序列的元素,既a, b, c, a, b, c ...

repeat(1.2)     #重複1.2,構成無窮迴圈器,即1.2, 1.2, 1.2, ...

repeat也可以有乙個次數限制:

repeat(10, 5)   #重複10,共重複5次

>>> a=cycle('abc')

>>> a

>>> next(a)

'a'>>> next(a)

'b'>>>

>>> next(a)

'c'

python高階特性5 迭代器 Iterator

python五個高階特性 切片 迭代列表生成式 生成器迭代器 我們已經知道,可以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別,如list tuple dict set str等 一類是generator,包括生成器和帶yield的generator function。這些可以直接作用...

儲存過程雙層迴圈 加熱製冷恆溫迴圈器注意點

加熱製冷恆溫迴圈器是配合各種型別的玻璃反應釜 雙層反應釜 反應器 萃取裝置等裝置製冷加熱控溫裝置,實現製冷加熱同一臺機器執行。加熱製冷恆溫迴圈器不管是風冷式還是水冷式,溫控裝置都需位於乙個擁有足夠新鮮空氣的操作環境 周圍大於30cm的空間。選擇加熱製冷恆溫迴圈器導熱介質的時候,需注意它的溫度上限和下...

python 迴圈定時器

有時候需要迴圈執行某個任務,最簡單的就是用thread.timer.谷歌了一下,發現大家竟然用sleep 來實現迴圈,也不知道誰想的這個方法,竟然很少有人想到join一下,很奇怪。coding utf 8 created on 2016年4月25日 author 55haitao import th...