python 迭代器 筆記

2021-08-22 19:14:10 字數 549 閱讀 4297

1.凡事可用於for迴圈的物件都是iterable型別物件;

2.凡事可做用於next()函式的物件都是iterator型別物件,他們表示乙個惰性計算的序列;

3.集合資料型別list、dicr、str等是iterable物件不是iterator物件,但是可以通過呼叫iter()函式獲得乙個iterator物件;

4.python的for迴圈的本質就是通過不停呼叫next()函式實現,如:

for x in [1, 2, 3, 4, 5]:

pass

等價於:

# 首先獲得iterator物件:

it = iter([1, 2, 3, 4, 5])

# 迴圈:

while true:

try:

# 獲得下乙個值:

x = next(it)

except stopiteration:

# 遇到stopiteration就退出迴圈

break

發現光看文件學有點慢也好無聊。。

Python筆記 迭代器

我們已經知道,可以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別,如list tuple dict set str等 一類是generator,包括生成器和帶yield的generator function。這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable。1 可以...

python迭代器筆記

迭代器的優點 迭代器訪問與for迴圈訪問非常相似,但是也有不同之處。對於支援隨機訪問的資料結構如元組和列表,迭代器並無優勢。因為迭代器在訪問的時候會丟失資料索引值,但是如果遇到無法隨機訪問的資料結構如集合時,迭代器是唯一訪問元素的方式 迭代器僅僅在訪問到某個元素時才使用該元素。在這之前,元素可以不存...

python筆記 迭代器

能被next 函式呼叫,並不斷返回下乙個值的物件稱為迭代器 iterator 迭代器物件 迭代器是訪問集合元素的一種方式,是python中最具特色的功能之一。迭代器可以記住訪問遍歷的位置,從集合的第乙個元素開始訪問,直到集合中的所有元素被訪問完畢。迭代器只能從前往後乙個乙個的遍歷,不能後退。迭代器的...