日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

實例講解Python 迭代器與生成器

瀏覽:127日期:2022-07-18 10:22:46

迭代器

迭代是Python最強大的功能之一,是訪問集合元素的一種方式。

迭代器是一個可以記住遍歷的位置的對象。

迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會后退。

迭代器有兩個基本的方法:iter() 和 next()。

字符串,列表或元組對象都可用于創建迭代器:

>>> list=[1,2,3,4]>>> it = iter(list) # 創建迭代器對象>>> print (next(it)) # 輸出迭代器的下一個元素1>>> print (next(it))2>>>

迭代器對象可以使用常規for語句進行遍歷:

#!/usr/bin/python3 list=[1,2,3,4]it = iter(list) # 創建迭代器對象for x in it: print (x, end=' ')

執行以上程序,輸出結果如下:

1 2 3 4

也可以使用 next() 函數:

#!/usr/bin/python3 import sys # 引入 sys 模塊 list=[1,2,3,4]it = iter(list) # 創建迭代器對象 while True: try: print (next(it)) except StopIteration: sys.exit()

執行以上程序,輸出結果如下:

1234

創建一個迭代器

把一個類作為一個迭代器使用需要在類中實現兩個方法 __iter__() 與 __next__() 。

如果你已經了解的面向對象編程,就知道類都有一個構造函數,Python 的構造函數為 __init__(), 它會在對象初始化的時候執行。

__iter__() 方法返回一個特殊的迭代器對象, 這個迭代器對象實現了 __next__() 方法并通過 StopIteration 異常標識迭代的完成。

__next__() 方法(Python 2 里是 next())會返回下一個迭代器對象。

創建一個返回數字的迭代器,初始值為 1,逐步遞增 1:

class MyNumbers: def __iter__(self): self.a = 1 return self def __next__(self): x = self.a self.a += 1 return x myclass = MyNumbers()myiter = iter(myclass) print(next(myiter))print(next(myiter))print(next(myiter))print(next(myiter))print(next(myiter))

執行輸出結果為:

12345

StopIteration

StopIteration 異常用于標識迭代的完成,防止出現無限循環的情況,在 __next__() 方法中我們可以設置在完成指定循環次數后觸發 StopIteration 異常來結束迭代。

在 20 次迭代后停止執行:

class MyNumbers: def __iter__(self): self.a = 1 return self def __next__(self): if self.a <= 20: x = self.a self.a += 1 return x else: raise StopIteration myclass = MyNumbers()myiter = iter(myclass) for x in myiter: print(x)

執行輸出結果為:

1234567891011121314151617181920

生成器

在 Python 中,使用了 yield 的函數被稱為生成器(generator)。

跟普通函數不同的是,生成器是一個返回迭代器的函數,只能用于迭代操作,更簡單點理解生成器就是一個迭代器。

在調用生成器運行的過程中,每次遇到 yield 時函數會暫停并保存當前所有的運行信息,返回 yield 的值, 并在下一次執行 next() 方法時從當前位置繼續運行。

調用一個生成器函數,返回的是一個迭代器對象。

以下實例使用 yield 實現斐波那契數列:

#!/usr/bin/python3 import sys def fibonacci(n): # 生成器函數 - 斐波那契 a, b, counter = 0, 1, 0 while True: if (counter > n): return yield a a, b = b, a + b counter += 1f = fibonacci(10) # f 是一個迭代器,由生成器返回生成 while True: try: print (next(f), end=' ') except StopIteration: sys.exit()

執行以上程序,輸出結果如下:

0 1 1 2 3 5 8 13 21 34 55

以上就是實例講解Python 迭代器與生成器的詳細內容,更多關于Python 迭代器與生成器的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久美女精品| 日韩欧美中文字幕一区二区三区| 久久国产毛片| 国产高清亚洲| 国产精品午夜一区二区三区| 日韩成人精品一区| 美女国产精品久久久| 国产亚洲欧美日韩在线观看一区二区| 免播放器亚洲一区| 视频一区视频二区在线观看| 麻豆精品91| 亚洲影视一区二区三区| 男女男精品视频网| 亚洲一区二区三区四区电影| 日韩精品导航| 日韩一区免费| 国产精品99久久久久久董美香| 国产精品主播| 亚洲综合在线电影| 国产婷婷精品| 午夜亚洲福利| 欧美激情亚洲| 成年男女免费视频网站不卡| 久久精品国内一区二区三区| 三级精品视频| 精品国产一区二区三区噜噜噜| 日韩精品一区二区三区免费视频| 日韩有吗在线观看| 成人在线免费观看网站| 久久九九精品| 91亚洲精品在看在线观看高清| 日本一区二区三区中文字幕| 91精品视频一区二区| 国产午夜一区| 亚洲伦乱视频| 亚洲免费专区| 伊伊综合在线| 久久国际精品| 伊人久久亚洲美女图片| 91精品一区| 亚洲午夜精品久久久久久app| 奇米狠狠一区二区三区| 99久久激情| 捆绑调教美女网站视频一区 | 亚洲国产专区校园欧美| 午夜久久av| 国产精品av久久久久久麻豆网| 欧美日韩国产一区二区在线观看| www成人在线视频| 国产精品极品在线观看| 亚州av乱码久久精品蜜桃| 91精品国产自产观看在线| aa国产精品| 国产成人1区| 国产探花一区| 日本不卡视频在线观看| 99精品在线观看| 久久激五月天综合精品| 亚洲在线国产日韩欧美| 麻豆国产欧美一区二区三区 | 亚洲二区精品| 国产一区二区三区四区大秀| 欧美在线黄色| 亚洲伊人精品酒店| 99成人在线视频| 精品99在线| 国产一区二区三区四区| 国产剧情一区二区在线观看| 奇米狠狠一区二区三区| 综合五月婷婷| 日韩av网站在线免费观看| 激情91久久| 丝袜国产日韩另类美女| 欧美特黄一区| 中文不卡在线| 欧美日韩亚洲三区| 精品国产亚洲一区二区在线观看| 美女久久99| 日韩高清中文字幕一区二区| 国产亚洲一区二区手机在线观看 | 婷婷亚洲综合| 亚洲婷婷免费| 99国产精品| 亚洲一级淫片| 久久激情综合网| 日韩综合在线| 亚洲精品99| 日韩一区免费| 98精品久久久久久久| 999国产精品视频| 亚洲日本三级| 国产一区二区三区四区五区| 激情久久五月| 好吊一区二区三区| 日韩精品国产欧美| 免费在线亚洲| 国产夫妻在线| 欧美在线观看视频一区| 亚洲一区二区毛片| 国产乱人伦精品一区| 国产精品美女午夜爽爽| 日韩av一级| 日韩专区一卡二卡| 日韩精品免费视频一区二区三区| 国产精品探花在线观看| 超碰超碰人人人人精品| 亚洲三区欧美一区国产二区| 国产盗摄——sm在线视频| 人人爽香蕉精品| 精品亚洲成人| 日本大胆欧美人术艺术动态| 日本不卡一区二区| 国产在线一区不卡| 亚洲欧美视频一区二区三区| 国产精品夜夜夜| 免费成人av在线播放| 免费在线日韩av| 亚洲天堂日韩在线| 久久精品国产精品亚洲毛片| 一区二区亚洲精品| 麻豆视频久久| 日本亚洲视频| 激情综合自拍| а√天堂中文在线资源8| 日产欧产美韩系列久久99| 国产91精品对白在线播放| 狠狠色狠狠色综合日日tαg| 日本亚洲最大的色成网站www | 日韩一区二区三区四区五区| 韩国精品主播一区二区在线观看 | 国产欧美欧美| 热久久免费视频| 日韩欧美精品综合| 美女久久精品| 麻豆91精品91久久久的内涵| 国产精品成人**免费视频| 欧美亚洲免费| 国产精品一区二区三区av| 亚洲a级精品| 久久国内精品自在自线400部| 国产毛片精品| 久久av综合| 中文字幕人成乱码在线观看| 蜜桃av在线播放| 香蕉精品视频在线观看| 免费在线成人网| 97精品国产99久久久久久免费| 天堂va在线高清一区| 日韩精品a在线观看91| 国产乱人伦精品一区| 成人片免费看| 亚洲色诱最新| 91伊人久久| 色婷婷亚洲mv天堂mv在影片| 久久国产日本精品| 亚洲精品系列| 精品色999| 国产亚洲在线观看| 国产精品99精品一区二区三区∴| 亚洲播播91| 亚洲精品第一| 97精品国产一区二区三区| 日本欧美不卡| 日韩一区精品字幕| 国产精品福利在线观看播放| 美女国产精品| 久久久久久自在自线| 亚洲欧美激情诱惑| 麻豆精品在线| 亚洲综合福利| 天堂中文av在线资源库| 蜜臀91精品一区二区三区| 精品高清久久| 亚洲欧美日韩国产| 日本欧美国产| 亚洲久久在线| 韩国精品主播一区二区在线观看| 欧美日韩精品一本二本三本| 国产精品红桃| 免费高清在线一区| 久久精品影视| av日韩中文| 美女久久99| 久久激五月天综合精品| 中文字幕中文字幕精品| 亚洲高清二区| 日韩另类视频| 国产精品第十页| 欧美一区91| 日韩av中文字幕一区二区三区| 亚洲一区日本| 日韩亚洲在线| 亚洲黑丝一区二区| 久久精品伊人| 欧美日韩亚洲一区二区三区在线| 午夜久久影院| 在线一区欧美| 日韩精品一区第一页| 亚洲一区二区三区四区电影| 黄色免费成人|