欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python函數(shù)的迭代器與生成器的示例代碼

 更新時間:2020年06月18日 09:15:49   作者:其實(shí)還好啦  
這篇文章主要介紹了Python函數(shù)的迭代器與生成器的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

函數(shù)的迭代器

函數(shù)的強(qiáng)大功能叫做迭代器,Python里面最具威力的功能之一。迭代器我們聽起來會感覺非常陌生,在list、tuple都有用到它,我們是使用for和in取列表中的每一個元素,對每個元素依次處理,這種方法就叫做迭代,實(shí)現(xiàn)這種方法的函數(shù)叫做迭代器。迭代器中有兩個基本的函數(shù),這個函數(shù)叫做方法,這個是面向?qū)ο缶幊谭Q呼的一個方法,這兩個方法叫做iter()和next()。

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

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

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

舉例演示-迭代器定義一個列表,處理成處理器

list1=[1,2,3,4] 
it=iter(list1)#賦值變量 
print(next(it)) 
print(next(it)) 
print(next(it)) 
print(next(it))

舉例演示-輸出異常

list1=[1,2,3,4] 
it=iter(list1)#賦值變量 
print(next(it)) 
print(next(it)) 
print(next(it)) 
print(next(it)) 
print(next(it))#except,超出列表范圍會報(bào)錯誤信息StopIteration

總結(jié)

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

一直到輸出完成

超出長度就會出現(xiàn)異常

函數(shù)的生成器

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

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

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

 print(i)

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

Range()函數(shù)必須是整數(shù)哦

舉例演示-如何優(yōu)化上述問題,支持小數(shù)

引用yield,帶yield的函數(shù)就叫做生成器

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

到此這篇關(guān)于Python函數(shù)的迭代器與生成器的文章就介紹到這了,更多相關(guān)Python函數(shù)的迭代器與生成器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python正則表達(dá)式re.sub各個參數(shù)的超詳細(xì)講解

    python正則表達(dá)式re.sub各個參數(shù)的超詳細(xì)講解

    Python 的 re 模塊提供了re.sub用于替換字符串中的匹配項(xiàng),下面這篇文章主要給大家介紹了關(guān)于python正則表達(dá)式re.sub各個參數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Pyspark獲取并處理RDD數(shù)據(jù)代碼實(shí)例

    Pyspark獲取并處理RDD數(shù)據(jù)代碼實(shí)例

    這篇文章主要介紹了Pyspark獲取并處理RDD數(shù)據(jù)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Python numpy生成矩陣、串聯(lián)矩陣代碼分享

    Python numpy生成矩陣、串聯(lián)矩陣代碼分享

    這篇文章主要介紹了Python numpy生成矩陣、串聯(lián)矩陣代碼分享,具有一定參考價值,需要的朋友可以了解下。
    2017-12-12
  • pycharm快捷鍵匯總

    pycharm快捷鍵匯總

    本文給大家分享的是PyCharm開發(fā)工具的快捷鍵大全整理,非常詳細(xì),適合使用PyCharm作為開發(fā)工具的開發(fā)人員參考使用,能夠幫助提高開發(fā)效率和速度
    2020-02-02
  • Python?format字符串格式化函數(shù)的使用

    Python?format字符串格式化函數(shù)的使用

    本文主要介紹了Python?format字符串格式化函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 基于Python實(shí)現(xiàn)智能停車場車牌識別計(jì)費(fèi)系統(tǒng)

    基于Python實(shí)現(xiàn)智能停車場車牌識別計(jì)費(fèi)系統(tǒng)

    這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)一個智能停車場車牌識別計(jì)費(fèi)系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手嘗試一下
    2022-04-04
  • Python根據(jù)字典的值查詢出對應(yīng)的鍵的方法

    Python根據(jù)字典的值查詢出對應(yīng)的鍵的方法

    這篇文章主要介紹了Python根據(jù)字典的值查詢出對應(yīng)的鍵的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 10分鐘快速入門Pandas庫

    10分鐘快速入門Pandas庫

    pandas?是基于NumPy?的一種工具,該工具是為解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,這篇文章主要介紹了10分鐘快速入門Pandas庫,重點(diǎn)介紹pandas常見使用方法,結(jié)合實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Python3使用requests發(fā)閃存的方法

    Python3使用requests發(fā)閃存的方法

    requests是一個python 輕量的http客戶端庫,相比python的標(biāo)準(zhǔn)庫要優(yōu)雅很多。接下來通過本文給大家介紹Python3使用requests發(fā)閃存的方法,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • python文件數(shù)據(jù)分析治理提取

    python文件數(shù)據(jù)分析治理提取

    這篇文章主要介紹了python文件數(shù)據(jù)分析治理提取,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08

最新評論