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

簡(jiǎn)單了解python 生成器 列表推導(dǎo)式 生成器表達(dá)式

 更新時(shí)間:2019年08月22日 11:19:06   作者:Clara51  
這篇文章主要介紹了簡(jiǎn)單了解python 生成器 列表推導(dǎo)式 生成器表達(dá)式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

生成器就是自己用python代碼寫的迭代器,生成器的本質(zhì)就是迭代器。

通過以下兩種方式構(gòu)建一個(gè)生成器:

1、通過生成器函數(shù)

2、生成器表達(dá)式

生成器函數(shù):

函數(shù)

def func1(x):
   x += 1
   return x
 print(func1(5))

生成器函數(shù)

def func1(x):
   x += 1
   yield x
 g_obj = func1(5)
 print(g_obj.__next__())

一個(gè)next對(duì)應(yīng)一個(gè)yield。

yield VS return

return 結(jié)束函數(shù),給函數(shù)的執(zhí)行者返回值

yield 不會(huì)結(jié)束函數(shù),一個(gè)next對(duì)應(yīng)一個(gè)yield,給生成器對(duì)象。__next__()返回值。

生成器函數(shù) VS 迭代器

區(qū)別1:自定制的區(qū)別:

l1 = [1,2,3,4,5]
 l1.__iter__()
 def func1(x):
   x += 1
   yield x
   x += 3
   yield x
   x += 5
   yield x
g1 = func1(5)
print(g1.__next__())
print(g1.__next__())
print(g1.__next__())

區(qū)別2:內(nèi)存級(jí)別的區(qū)別。

迭代器是需要可迭代對(duì)象進(jìn)行轉(zhuǎn)化,可迭代對(duì)象非常占內(nèi)存

生成器直接創(chuàng)建,不需要轉(zhuǎn)化,從本質(zhì)就節(jié)省內(nèi)存

send & next

send與next一樣,也是對(duì)生成器取值(執(zhí)行一個(gè)yield)的方法。

send 可以給上一個(gè)yield傳值,第一次取值永遠(yuǎn)都是next

最后一個(gè)yield永遠(yuǎn)也得不到send的值

列表推導(dǎo)式:一行代碼搞定所需要的任何列表

循環(huán)模式 格式:[變量(加工后的變量)for 變量 in interable

lis = [i for i in range(1,101)]
print(lis)
lis = ['騎士計(jì)劃%s期'% i for i in range(1,16)]
print(lis)
lis = [i**2 for i in range(1,11)]
print(lis)
print([i for i in range(1,31) if i % 3 == 0])
print([i*i for i in range(1,31) if i % 3 is 0 ])

篩選模式:

names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
     ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
print([q for name in names for q in name if q.count('e') >= 2])

列表推導(dǎo)式

優(yōu)點(diǎn):一行解決,方便

缺點(diǎn):容易著迷,不易排錯(cuò),不能超過三次循環(huán)

列表推導(dǎo)式不能解決所有列表的問題,無需刻意使用

生成器表達(dá)式:將列表推導(dǎo)式的 [] 換成 () 即可

g = (i for i in range(199))
print(g.__next__())
print(g.__next__())
print(g.__next__())
print(g.__next__())
print(g.__next__())
print(g.__next__())
print(g.__next__())

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pycharm安裝python庫的方法

    Pycharm安裝python庫的方法

    這篇文章主要介紹了Pycharm安裝python庫的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python3 tkinter 實(shí)現(xiàn)文件讀取及保存功能

    Python3 tkinter 實(shí)現(xiàn)文件讀取及保存功能

    tkinter是一個(gè)跨平臺(tái)的GUI庫,開發(fā)的程序可以在win,linux或者mac下運(yùn)行,tkinter是python自帶的GUI庫,是對(duì)圖形庫TK的封裝。本文通過實(shí)例代碼給大家介紹Python3 tkinter 實(shí)現(xiàn)文件讀取及保存功能,感興趣的朋友跟隨小編一起看看吧
    2019-09-09
  • Python3 批量掃描端口的例子

    Python3 批量掃描端口的例子

    今天小編就為大家分享一篇Python3 批量掃描端口的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Matplotlib繪圖基礎(chǔ)之子圖詳解

    Matplotlib繪圖基礎(chǔ)之子圖詳解

    這篇文章主要為大家詳細(xì)介紹了Matplotlib繪制子圖的常用方式和技巧,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-07-07
  • 解讀殘差網(wǎng)絡(luò)(Residual Network),殘差連接(skip-connect)

    解讀殘差網(wǎng)絡(luò)(Residual Network),殘差連接(skip-connect)

    這篇文章主要介紹了殘差網(wǎng)絡(luò)(Residual Network),殘差連接(skip-connect),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python編寫一個(gè)圖片自動(dòng)播放工具(過程詳解)

    Python編寫一個(gè)圖片自動(dòng)播放工具(過程詳解)

    使用Python和Pygame庫,可以編寫一個(gè)圖片自動(dòng)播放工具,實(shí)現(xiàn)圖片的加載、自動(dòng)循環(huán)播放及用戶交互功能,工具支持暫停、繼續(xù)、手動(dòng)切換圖片和調(diào)整播放速度,適合在電腦上方便地瀏覽和展示圖片,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • django使用admin站點(diǎn)上傳圖片的實(shí)例

    django使用admin站點(diǎn)上傳圖片的實(shí)例

    今天小編就為大家分享一篇django使用admin站點(diǎn)上傳圖片的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python刪除過期文件的方法

    python刪除過期文件的方法

    這篇文章主要介紹了python刪除過期文件的方法,涉及Python日期與文件的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • 使用Python制作一個(gè)打字訓(xùn)練小工具

    使用Python制作一個(gè)打字訓(xùn)練小工具

    這篇文章主要介紹了用Python制作一個(gè)打字訓(xùn)練小工具,本文通過實(shí)例代碼的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • python3實(shí)現(xiàn)常見的排序算法(示例代碼)

    python3實(shí)現(xiàn)常見的排序算法(示例代碼)

    排序是非常常見的排序算法,今天給大家分享幾種比較常見的排序算法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-07-07

最新評(píng)論