欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

python實現迭代器的方法-創(chuàng)新互聯

創(chuàng)新互聯www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

專注于為中小企業(yè)提供成都網站設計、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)嵊泗免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

小編給大家分享一下python實現迭代器的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

迭代是Python最強大的功能之一,是訪問集合元素的一種方式。迭代器是一個可以記住遍歷的位置的對象。迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會后退。

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

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

實例(Python 3.0+)

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

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

實例(Python 3.0+)

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

執(zhí)行以上程序,輸出結果如下:

1 2 3 4

也可以使用 next() 函數:

實例(Python 3.0+)

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

執(zhí)行以上程序,輸出結果如下:

1
2
3
4

創(chuàng)建一個迭代器

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

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

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

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

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

實例(Python 3.0+)

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))

執(zhí)行輸出結果為:

1
2
3
4
5

StopIteration

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

在 20 次迭代后停止執(zhí)行:

實例(Python 3.0+)

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)

執(zhí)行輸出結果為:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

以上是python實現迭代器的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯-成都網站建設公司行業(yè)資訊頻道!

新聞名稱:python實現迭代器的方法-創(chuàng)新互聯
文章起源:http://aaarwkj.com/article36/dihopg.html

成都網站建設公司_創(chuàng)新互聯,為您提供自適應網站、定制網站、營銷型網站建設、品牌網站制作關鍵詞優(yōu)化、網站收錄

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網站建設
亚洲青青草原一区二区| 中文人妻熟妇乱又伦精品| 久久人妻一区二区三区免费密臀| 搡老熟女老女人一区二区| 全部网站免费在线观看等| 中文字幕人妻熟女人妻| 日韩欧美精品另类在线| 蜜臀视频在线观看免费| 免费午夜福利在线观看| 亚洲区自拍偷拍一区二区| 女子张开腿让男人捅爽| 日韩女同一区二区三区在线观看 | 五月婷婷少妇中文字幕| 欧美 日韩亚洲一区| 免费在线观看性生活视频| 台湾三级一区二区三区| 日韩精品欧美中文字幕| 在线激情视频一区二区| 熟妇人妻精品一区二区| 国产自拍成人精品视频| 欧美一区二区三区日韩精品| 久久久久国产综合精品| 日本精品在线亚洲国产欧美| 国产免费播放一区二区三区| 国产欧美日本一区二区| 中文字幕日韩有码在线| 亚洲免费av一区在线观看| 国产又爽又乱的视频在线| 日本一级特黄大片做受在线观看| 亚洲小视频免费在线观看| 国产精品国产不卡在线| 激情图区亚洲一区二区| 成人中文字幕日韩电影| 色婷婷综合中文久久一本| 日本人妻在线不卡视频| 欧美日本黄色一级视频| 91精品在线观看首页| 国产三级全黄在线播放| 美女诱惑福利视频久久久| 日韩亚洲国产激情一区二区| av永久天堂一区二区三区|