淺談python迭代器
1、yield,將函數(shù)變?yōu)?generator (生成器)
例如:斐波那契數(shù)列
def fib(num):
a, b, c = 1, 0, 1
while a <= num:
yield c
b, c = c, b + c
a += 1
for n in fib(10):
print(n, end=' ')
# 1 1 2 3 5 8 13 21 34 55
2、Iterable
所有可以使用for循環(huán)的對象,統(tǒng)稱為 Iterable (可迭代)
from collections import Iterable, Iterator print(isinstance(fib(10), Iterable)) print(isinstance(range(10), Iterable)) # True # True
3、Iterator
可以使用next() <__next__()> 函數(shù)調(diào)用并且不斷返回下一個值的對象成為 Iterator (迭代器),表示一個惰性計算的序列。
list, dict, str是Iterable,不是Iterator:
from collections import Iterator print(isinstance(list(), Iterator)) # False
但是可以通過iter()函數(shù)將其變?yōu)镮terator:
print(isinstance(iter(list()), Iterator)) # True
總結(jié)
以上就是本文關(guān)于淺談python迭代器的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:python好玩的項目—色情圖片識別代碼分享、Python實現(xiàn)一個簡單的驗證碼程序、Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運算式等,有什么問題可以隨時留言,小編會及時回復(fù)大家的。感謝朋友們對本站的支持!
相關(guān)文章
完美解決Python 2.7不能正常使用pip install的問題
今天小編就為大家分享一篇完美解決Python 2.7不能正常使用pip install的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python?HTTP協(xié)議相關(guān)庫requests urllib基礎(chǔ)學(xué)習(xí)
這篇文章主要介紹了python?HTTP協(xié)議相關(guān)庫requests urllib基礎(chǔ)學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
python+appium實現(xiàn)自動化測試的示例代碼
appium是一個開源的測試自動化框架,可以與原生的、混合的和移動的web應(yīng)用程序使用,本文主要介紹了python+appium實現(xiàn)自動化測試的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實例代碼
這篇文章主要介紹了Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
python調(diào)用MySql保姆級圖文教程(包會的)
MySQL是當(dāng)今市場上最受歡迎的數(shù)據(jù)庫系統(tǒng)之一,由于大多數(shù)應(yīng)用程序需要以某種形式與數(shù)據(jù)交互,因此像Python這樣的編程語言提供了用于存儲和訪問這些數(shù)據(jù)的工具,這篇文章主要給大家介紹了關(guān)于python調(diào)用MySql的相關(guān)資料,需要的朋友可以參考下2024-12-12
Python圖像識別+KNN求解數(shù)獨的實現(xiàn)
這篇文章主要介紹了Python圖像識別+KNN求解數(shù)獨的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

