91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么實現迭代器與生成器

發布時間:2021-07-14 14:12:19 來源:億速云 閱讀:149 作者:Leah 欄目:大數據

這篇文章將為大家詳細講解有關Python中怎么實現迭代器與生成器,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

函數的迭代器

函數的強大功能叫做迭代器,Python里面最具威力的功能之一。迭代器我們聽起來會感覺非常陌生,在list、tuple都有用到它,我們是使用for和in取列表中的每一個元素,對每個元素依次處理,這種方法就叫做迭代,實現這種方法的函數叫做迭代器。迭代器中有兩個基本的函數,這個函數叫做方法,這個是面向對象編程稱呼的一個方法,這兩個方法叫做iter()和next()。

1.什么是迭代?迭代是一個重復的過程,并且每次重復都是基于上一次的結果而來

2.要想了解迭代器到底是什么?必須先了解一個概念,即什么是可迭代的對象? 可迭代的對象:在python中,但凡內置有’‘iter’'方法的對象,都是可迭代的對象

3.迭代器:迭代取值工具,可迭代的對象執行iter方法得到的返回值就是迭代器對象

舉例演示-迭代器定義一個列表,處理成處理器
list1=[1,2,3,4] it=iter(list1)#賦值變量 print(next(it)) print(next(it)) print(next(it)) print(next(it))

Python中怎么實現迭代器與生成器

舉例演示-輸出異常
list1=[1,2,3,4] it=iter(list1)#賦值變量 print(next(it)) print(next(it)) print(next(it)) print(next(it)) print(next(it))#except,超出列表范圍會報錯誤信息StopIteration

Python中怎么實現迭代器與生成器

總結

每調用一次next()會輸出iter()里面的下一個元素

一直到輸出完成

超出長度就會出現異常

函數的生成器

我們感受到迭代器的功能的強大,如何自己制作一個迭代器呢?

舉例演示-簡單迭代器range()函數

for i in range(10,20,2):#第一個參數是開始參數;第二個參數是結束參數;第三個參數是步長

   print(i)

如果步長為小數0.5是否可以,則會返回類型錯誤的信息

Range()函數必須是整數哦
Python中怎么實現迭代器與生成器

舉例演示-如何優化上述問題,支持小數

引用yield,帶yield的函數就叫做生成器

def frange(start,stop,step): x=start#定義一個變量      while x<stop:    
          yield x #沒有yield,while會把所有的值一次性進行返回;yield運行到這個位置,會暫停記錄當前的位置,當你再次去調用一個next的時候,會根據當前的位置返回一個值給你           x+=step 
for i in frange(10,20,0.5): print(i)

Python中怎么實現迭代器與生成器

關于Python中怎么實現迭代器與生成器就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴川市| 如东县| 威宁| 晋江市| 腾冲县| 蓝田县| 会东县| 桐城市| 张家口市| 洛隆县| 绍兴县| 西宁市| 新乡市| 新沂市| 玉溪市| 正镶白旗| 舞阳县| 景泰县| 黄石市| 金沙县| 新晃| 高尔夫| 广平县| 成安县| 咸丰县| 南川市| 赣榆县| 桐庐县| 来宾市| 林周县| 郓城县| 兴和县| 尚志市| 石城县| 保亭| 江达县| 肇州县| 福贡县| 绩溪县| 扎囊县| 兴海县|