python之路 迭代器與可迭代物件

2021-08-04 07:52:20 字數 1352 閱讀 7647

可以直接使用for迴圈進行遍歷的資料型別有兩種:

一種是集合型資料型別如list、str、dict、set、tuple,

一種是generator型別,

這些物件都可以使用isinstance函式進行判斷

from collections import iterable

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

my_str = 'hello world'

tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)

dict1 =

set1 = set(list1)

generator_1 = (x * x for x in range(10))

print(isinstance(list1, iterable))

print(isinstance(my_str, iterable))

print(isinstance(tuple1, iterable))

print(isinstance(set1, iterable))

print(isinstance(generator_1, iterable))

print—>:

true

true

true

true

true

以上我們都稱之為可迭代物件,而迭代器就是可迭代物件如果有next方法就稱之為迭代器:iterator。

可以使用isinstance來判斷物件是否是迭代器

from collections import  iterator

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

my_str = 'hello world'

tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)

dict1 =

set1 = set(list1)

generator_1 = (x * x for x in range(10))

print(isinstance(list1, iterator))

print(isinstance(my_str, iterator))

print(isinstance(tuple1, iterator))

print(isinstance(set1, iterator))

print(isinstance(generator_1, iterator))

print—>:

false

false

false

false

true

python 迭代器與可迭代物件

主要有兩個方法next 與iter next不斷返回下乙個元素,知道元素全部返回後出現異常,可以節省記憶體空間。iter是迭代,可以把乙個列表直接轉換成迭代器,然後使用next 方法。data list 1,2,3,4,5 data list iter data list print next da...

Python 迭代器與可迭代物件

迭代器可以讓我們訪問集合的時候變得非常方便。之前我們通過for.in.的方式訪問乙個集合的時候,就是使用迭代器完成的。如果沒有迭代器,那麼我們只能通過while迴圈,每次迴圈的時候通過下標訪問了。可以直接使用for迴圈遍歷的物件,成為可迭代的物件,常見的可迭代的物件有 list tuple dict...

Python迭代器與可迭代物件

當掃瞄記憶體中放不下的資料集時,我們需要找到一種惰性獲取資料項的方式,每次 取出 1個。這就是迭代器相對於普通可迭代物件的優勢 節省記憶體 l orange pear 列表就是乙個可迭代物件在python中,很多內建的資料型別都是可迭代物件,如列表,字串,元組,字典,集合等 如果要自己構建乙個可迭代...