python中的容器 可迭代物件 迭代器 生成器

2022-07-15 03:42:07 字數 833 閱讀 6279

容器是一系列元素的集合,str、list、set、dict物件都可以看作是容器,容器都可以被迭代(用在for,while等語句中)

在了解完容器物件之後,我們來了解一種特殊的容器物件之可迭代物件。

(1)是什麼?

顧名思義,可迭代物件指的就是可以被迭代的物件。迭代指的就是通過迴圈不斷產生「元素」的一種訪問「元素」的方式。所以可迭代物件也可以簡單理解為可以作用於迴圈中充當「迴圈體」的物件

(2)分類?

①普通的可迭代物件:str、list、set、dict等

②迭代器物件:一種特殊的可迭代物件。

在了解完可迭代物件之後,我們來了解一種特殊的可迭代物件之迭代器物件。

(1)是什麼?

可以被next函式呼叫並且不斷返回下乙個值的物件

(2)為什麼?

通過使用迭代器物件,可以節省記憶體空間。

(3)怎麼做?

通過呼叫iter()方法來將非迭代器物件轉換成迭代器物件。

(4)特性:

物件中的「元素」只能通過不斷迭代來獲取而沒辦法一次性訪問物件中的所有「元素」。

在了解完迭代器物件之後,我們來了解一種特殊的迭代器物件之生成器物件。

(1)是什麼?

一種特殊的迭代器物件

(2)與普通的迭代器物件的區別:

兩者的實現方式不同:

普通的迭代器物件的實現方法一般是需要實現__iter__()、__next__()方法。而在生成器中則可以通過兩種方式來實現:

①在函式中新增yield關鍵字。

②把列表推導式的中括號改成小括號。

python中 可迭代物件

迭代是訪問集合元素的 種 式。迭代器是 個可以記住遍歷的位置的物件。迭代器物件從集合的第 個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。我們已經知道可以對list tuple str等型別的資料使 for in 的迴圈語法從 其中依次拿到資料進 使 我們把這樣的過程稱為遍歷,也...

python中可迭代物件反轉

1 字串反轉 a 839574 reversed a object at 0x00000215caca0d60 for i in reversed a reversed反轉為迭代器物件 print i,end 4 7 5 9 3 8 a 839574 a.reverse 字串不能都就地反轉 trac...

Python 可迭代物件

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