迭代器和生成器區別是什麼?Python學習!
迭代器和生成器區別是什麼?相信很多人在初學Python的時候對它們都很好奇,接下來我們一起來看看它們的區別吧。
迭代器是一個更抽象的概念,任何物件,如果它的類有next方法和iter方法返回自己的本身,對於string、list、dict、tuple等這類容器物件,使用for迴圈會更加方便。在後臺for語句對容器物件呼叫iter()函式,iter()是Python內建函式。
iter()會返回一個定義了next()方法的迭代器物件,在容器中逐個訪問容器內元素,next()也是Python的內建函式,無後續元素時,next()會丟擲一個StopIteration異常
生成器是建立迭代器簡單而強大的工具,像正規函式,在需要返回資料的時候使用yield語句,每次next()被呼叫時,生成器會返回它脫離的位置。
迭代器和生成器區別主要在於生成器可以做迭代器的事情,生成器是一種特殊的迭代器。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2730909/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python的生成器和迭代器有什麼區別?Python
- 什麼是Python的迭代器和生成器?(附程式碼)Python
- Python學習筆記 - 迭代器和生成器Python筆記
- anaconda和pycharm區別是什麼?Python學習!PyCharmPython
- Python學習之路34-迭代器和生成器Python
- 字典和json的區別是什麼?Python學習JSONPython
- jupyter和pycharm區別是什麼?Python學習班PyCharmPython
- python迭代器是什麼Python
- 生成器與迭代器的區別
- 草根學Python(七) 迭代器和生成器Python
- 【python】迭代器與生成器到底是什麼?看完你就知道Python
- cookie和session有什麼區別?Python學習!CookieSessionPython
- python is和==的區別是什麼?Python
- 什麼是Python直譯器?和Python IDE有什麼區別?PythonIDE
- Python入門之迭代器與生成器的區別Python
- Java和Python是什麼?有什麼區別?JavaPython
- Linux學習之Vi和Vim區別是什麼?Linux
- 1.5.4 Python迭代器和生成器Python
- Python的迭代器和生成器Python
- cookie和session有什麼區別?Python學習分享CookieSessionPython
- Python學習教程_Python語言中=和==有什麼區別?Python
- Python學習之Django和Flask框架有什麼區別?PythonDjangoFlask框架
- Django和Flask框架有什麼區別?Python學習分享DjangoFlask框架Python
- python3.7 迭代器和生成器Python
- Python學習之Django和其他Python框架有什麼區別?PythonDjango框架
- Python和C語言區別是什麼?PythonC語言
- pycharm和python區別(關係)是什麼PyCharmPython
- python 生成器&迭代器Python
- Python之裝飾器、迭代器和生成器Python
- Python生成器、迭代器、可迭代物件Python物件
- Python學習之三大名器-裝飾器、迭代器、生成器Python
- 為什麼range不是迭代器?range到底是什麼型別?型別
- python迭代器和生成器的總結Python
- python和c語言的區別是什麼PythonC語言
- python屬性和方法的區別是什麼Python
- Python 列表和元組的區別是什麼?Python
- cython和python分別是什麼?區別有哪些?Python
- 優思學院|CTP和CTQ是什麼?有什麼區別?