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

python創(chuàng)建生成器以及訪問的方法詳解

 更新時間:2023年11月03日 10:43:18   作者:驚瑟  
這篇文章主要介紹了python創(chuàng)建生成器以及訪問的方法詳解,與列表一次性地將數(shù)據(jù)全都加載到內(nèi)存不同的是,生成器使用推斷加載數(shù)據(jù),每次只推斷出一個對象,在數(shù)據(jù)量比較大時,可以節(jié)省內(nèi)存,需要的朋友可以參考下

前言

與列表一次性地將數(shù)據(jù)全都加載到內(nèi)存不同的是,生成器使用推斷加載數(shù)據(jù),每次只推斷出一個對象,在數(shù)據(jù)量比較大時,可以節(jié)省內(nèi)存。

這篇文章簡單總結(jié)下創(chuàng)建生成器的方法,并用舉一個生成器在斐波那契應(yīng)用的例子。

一、創(chuàng)建生成器以及訪問的方法

1. map

iter1 = map(lambda x:x, [0,1,2])

2. ()

iter2 = (x for x in range(3))

3.使用yield

def iter3():
    for i in range(3):
        yield i

看下它們的類型:

iter1 type is: <class 'map'>
iter2 type is: <class 'generator'>
iter3() type is: <class 'generator'>

其中,map類型也是生成器類型。如何訪問一個生成器?以iter1為例,有以下方法:

# 1.一個個訪問
print(next(iter1)) 

 # 2.使用for訪問
for i in iter1:
    print(i)
    break
    
# 3.轉(zhuǎn)化為列表訪問
print(list(iter1)) 

輸出:

0
1
[2]

二、生成器的應(yīng)用

使用迭代法來求解斐波那契數(shù)列:

# 使用生成器構(gòu)菲波那契數(shù)列,數(shù)列下標(biāo)從1開始
def fib(n):
    a,b,i = 0,1,0
    while i<n:
        yield b
        a,b = b,a+b
        i += 1

def get_fib(n):
    # 此時fib(n)是一個生成器
    gener = fib(n)
    for i in range(n-1):
        next(gener)
    return next(gener)

print(get_fib(3))

到此這篇關(guān)于python創(chuàng)建生成器以及訪問的方法詳解的文章就介紹到這了,更多相關(guān)python生成器及訪問方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Flask 視圖介紹

    關(guān)于Flask 視圖介紹

    這篇文章主要分享的是關(guān)于Flask 視圖介紹, Flask 中路由是請求的 url 與處理函數(shù)之間的映射,使用app.route裝飾器將處理函數(shù)和 url 綁定,路由綁定的處理函數(shù)就被成為視圖函數(shù)。下面來看文章的詳細(xì)內(nèi)容,需要的朋友也可以參考一下
    2021-11-11
  • matplotlib之pyplot模塊坐標(biāo)軸范圍設(shè)置(autoscale(),xlim(),ylim())

    matplotlib之pyplot模塊坐標(biāo)軸范圍設(shè)置(autoscale(),xlim(),ylim())

    這篇文章主要介紹了matplotlib之pyplot模塊坐標(biāo)軸范圍設(shè)置(autoscale(),xlim(),ylim()),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • pandas將list數(shù)據(jù)拆分成行或列的實現(xiàn)

    pandas將list數(shù)據(jù)拆分成行或列的實現(xiàn)

    這篇文章主要介紹了pandas將list數(shù)據(jù)拆分成行或列的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Tornado 多進(jìn)程實現(xiàn)分析詳解

    Tornado 多進(jìn)程實現(xiàn)分析詳解

    這篇文章主要介紹了Tornado 多進(jìn)程實現(xiàn)分析詳解,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python基于百度AI實現(xiàn)抓取表情包

    Python基于百度AI實現(xiàn)抓取表情包

    本文先抓取網(wǎng)絡(luò)上的表情圖像,然后利用百度 AI 識別表情包上的說明文字,并利用表情文字重命名文件,感興趣的小伙伴們可以參考一下
    2021-06-06
  • python+rsync精確同步指定格式文件

    python+rsync精確同步指定格式文件

    這篇文章主要為大家詳細(xì)介紹了python+rsync精確同步指定格式文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 基于Tensorflow批量數(shù)據(jù)的輸入實現(xiàn)方式

    基于Tensorflow批量數(shù)據(jù)的輸入實現(xiàn)方式

    今天小編就為大家分享一篇基于Tensorflow批量數(shù)據(jù)的輸入實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 一篇文章帶你入門python之推導(dǎo)式

    一篇文章帶你入門python之推導(dǎo)式

    這篇文章主要為大家詳細(xì)介紹了python的推導(dǎo)式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Python編寫memcached啟動腳本代碼實例

    Python編寫memcached啟動腳本代碼實例

    這篇文章主要介紹了Python編寫memcached啟動腳本代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • python 發(fā)送和接收ActiveMQ消息的實例

    python 發(fā)送和接收ActiveMQ消息的實例

    今天小編就為大家分享一篇python 發(fā)送和接收ActiveMQ消息的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論