一喪:別害怕,反正都會後悔的認識迭代器一定要認識乙個單詞yield。
yield是什麼意思?在筆者認為它就是乙個暫停並輸出的意思,當再次呼叫時從暫停處繼續執行**到達下乙個暫停並輸出。
我們來看乙個簡單的**吧。
def
shuchu
(num):
for n in range(num):
yield n
f = shuchu(5)
print(next(f))
print(next(f))
print(next(f))
print(next(f))
print(next(f))
print(next(f))
它的輸出為:
但是如果我們超出範圍會怎麼樣呢?
它會給我們報如下錯誤:
大家思考一下,每次都使用next()是不是太麻煩了,一點也不優雅。可是不用next我們用什麼呢?誒,沒錯,我們用迴圈去遍歷它呀。
def
shuchu
(num):
for n in range(num):
yield n
f = shuchu(5)
for n in f:
print(n)
它的輸出如下:
好的,以上就是迭代器的基本使用用法。
Python基礎之迭代器詳解
迭代器即用來迭代取值的工具,而迭代是重複反饋過程的活動,其目的通常是為了逼近所需的目標或結果,每一次對過程的重複稱為一次 迭代 而每一次迭代得到的結果會作為下一次迭代的初始值,單純的重複並不是迭代。例項 goods mac lenovo acer dell sony index 0 while in...
python基礎之迭代器生成裝飾器
容器是一種把多個元素組織在一起的資料結構,容器中的元素可以逐個地迭代獲取,可以用in,not in關鍵字判斷元素是否包含在容器中。通常這類資料結構把所有的元素儲存在記憶體中 也有一些特例,並不是所有的元素都放在記憶體,比如迭代器和生成器物件 在python中,常見的容器物件有 容器比較容易理解,因為...
Python基礎 迭代器
二 生成器 三 推導表示式 迭代器就是乙個容器,將可迭代物件通過iter包起來 li 1 2,3 4,5 a liter li 迭代器print next a 1print next a 2print next a 3 乙個個取值 1.訪問者不需要去關心內部結構,只需要通過next不斷去取下乙個內容...