亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python3迭代器與生成器

系統 2013 0

Python3 迭代器與生成器

一:

  1. 迭代器

迭代是訪問集合元素的一種方式。可以記住遍歷的位置的對象。

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

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

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

            
              a = [1, 2, 3, 4, 5]
b = iter(a)

            
          

可用for循環進行遍歷:

            
              for x in b:
    print("%s" % x, end=" ")

            
          

運行結果:`

1 2 3 4 5

也可用next()進行遍歷:

            
              print (next(it))

            
          

2、創建一個迭代器
把一個類作為一個迭代器使用需要在類中實現兩個方法 iter () 與 next ()

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

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

實例:

            
              class Boy:
    def __iter__(self):
        self.a = 1
        return self

    def __next__(self):
        x = self.a
        self.a = x + 1
        return x


a = Boy()
b = iter(a)
print(next(b))


            
          

結果:

1 2 3 4 5

二:生成器
在 Python 中,使用了 yield 的函數被稱為生成器(generator)。
生成器是一個返回迭代器的函數。調用一個生成器函數,返回的是一個迭代器對象。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品视频一区二区三区经 | 五月婷网 | 青草视频在线观看免费资源 | 欧美成人性色xxxx视频 | 成人影院免费在线观看 | 久草在线视频看看 | 免费一级大毛片a一观看不卡 | 青青青青久久精品国产一百度 | 一级特黄女人生活片 | 天天干天天天天 | 国产老熟 | 国产成视频 | 免费观看毛片视频 | 九色九色九色在线综合888 | 中文字幕第66页永久乱码 | 久亚洲精品不子伦一区 | 免费一级欧美大片久久网 | 婷婷免费高清视频在线观看 | 99精品视频免费观看 | 色爱区综合 | 激情网婷婷 | 日韩在线欧美在线 | 国产性一交一乱一伦一色一情 | 日日摸夜夜添夜夜添97 | 青青国产成人久久91网站站 | 成年激情网 | 天天插天天干 | 天天综合网天天综合色不卡 | 久久精品中文字幕久久 | 久久伊人免费视频 | 免费观看性欧美一级 | 中文字幕日韩一区二区 | 久久精品影院永久网址 | 亚洲精品久久九九热 | 色四月婷婷 | 美日韩毛片 | 一级毛片免费不卡在线 | 久久精品国产清白在天天线 | 国产一区二区免费在线 | 骚视频在线观看 | 成人国产精品 |