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

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)新互聯

成都網站建設
国产H精品在线观看| 成人午夜福利视频大全| 我要看黄色一级性生活片| 成人免费毛片内射视频| 精品人妻av区天天看片| av天堂久久这里只有精品美国| 99久久精彩免费视频| 欧美小黄片在线免费看| 日韩三级av黄片在线| 日产精品一级二级三级爱| 神马免费午夜福利剧场| 81精品国产综合久久精品伦理| 成人精品超碰一区二区| 国产精品妇女一二三区| 给我免费在线观看视频| 亚洲精品一品区二品区三区| 东京热男人的天堂色狠爱| 亚洲午夜经典一区二区日韩| 免费观看国内性生活大片| 人妻精品中文字幕一区二区在线 | 99精品国产高清一区二区三区| 精品一区二区亚洲精品| 国产国语久久91老女人| 国产亚洲av看码精品永久| 成人性生交视频免费看| 日韩精品一区二区av在线| 亚洲日本高清一二三区| 国产污视频网站在线观看| 成人精品午夜福利视频| 91薄丝激情在线播放| 欧洲女人av天堂精品| 一区二区人妻乳中文字幕| 天堂av影片在线观看| av 一区二区三区av| 日日做日夜夜操天天搞| 在线国产精品中文字幕| 国产一区二区不卡自拍| 97精品在线视频免费| 91极品气质女神长腿翘臀| 国产精品男人在线播放| 欧美影院波波在线影院|