'''
可迭代物件:可以直接作用於for迴圈的物件統稱為可迭代物件,
比如:list dict tuple都是
可以使用isinstace()去檢測是否是可迭代物件iterable
可以直接作用於for的資料型別一般分為2種:
1.集合
2.generator,包括生成器和帶yile的generator函式
'''#在集合中倒入可迭代物件
from collections import iterable
#在集合中倒入可迭代器
from collections import iterator
#判斷列表是不是可迭代物件
print(isinstance(,iterable))
#判斷元組是不是可迭代物件
print(isinstance((),iterable))
#判斷字典是不是可迭代物件
print(isinstance({},iterable))
#判斷字串是不是可迭代物件
print(isinstance("",iterable))
#判斷 1 是不是可迭代物件
print(isinstance(1,iterable))
'''可以通過next()函式不斷獲取下乙個元素,直到報錯即為
獲取完成,沒有下乙個元素了
列表、元組雖然是乙個可迭代物件,但不是迭代器,需先轉化
'''#括號的作用相當於轉了變數
l = (x for x in [23,56,89,54,564,2,3,26])
print(type(l))
print(next(l))
print(next(l))
print(next(l))
print(next(l))
list1 = [1,2,3,45,6]
# 轉化成可迭代物件
list_1 = iter(list1)
print(next(list_1))
'''生成器
'''def aaa(x):
while true:
x = x + 1
#yield常見用法:該關鍵字用於函式中會把函式包裝為generator。
yield x
a = aaa(33)
print(next(a))
print(next(a))
print(next(a))
print(next(a))
python 可迭代物件和迭代器以及生成器
迭代器 生成器是python學習的重要概念,其在深度學習的資料集載入中應用也非常廣泛。本文主要闡述可迭代物件 iterable 迭代器 iterator 以及生成器 generator 的主要區別 首先,迭代器均為可迭代物件,生成器是特殊的迭代器,三者關係如下 1.可迭代物件 iterable 乙個...
可迭代物件 迭代器,生成器
可迭代物件 iterator 列表 集合 元組 字典 字串 生成器 我們可以使用isintance 判斷乙個物件是否是iterator物件 生成器 通過列表生成式,我們可以直接建立乙個列表,但是,受到記憶體限制,列表容量肯定是有限的,如果我們僅僅需要訪問前面幾個元素,如果列表元素可以按照某種演算法推...
可迭代物件 迭代器 生成器
可迭代物件 for迴圈機制 迭代器生成器 總結type所返回的型別是例項物件的類物件,而isinstance所進行的判斷則包含了例項物件的類物件及其父類。如圖 可迭代物件 迭代器 生成器所屬的型別分別為collections包裡的iterable,iterator,generator.實現了 ite...