最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

2、生成器表達式

生成器函數(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__())

一個next對應(yīng)一個yield。

yield VS return

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

yield 不會結(jié)束函數(shù),一個next對應(yīng)一個yield,給生成器對象。__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)存級別的區(qū)別。

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

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

send & next

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

send 可以給上一個yield傳值,第一次取值永遠都是next

最后一個yield永遠也得不到send的值

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

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

lis = [i for i in range(1,101)]
print(lis)
lis = ['騎士計劃%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)點:一行解決,方便

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

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

生成器表達式:將列表推導(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__())

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

相關(guān)文章

  • Python?中將數(shù)字轉(zhuǎn)換為字母的方法

    Python?中將數(shù)字轉(zhuǎn)換為字母的方法

    本文詳細介紹了在 Python 中將數(shù)字轉(zhuǎn)換為字母的幾種常用方法,我們介紹了使用 chr() 函數(shù)、string 模塊和 ord() 函數(shù)等方法,并提供了示例代碼幫助你理解和應(yīng)用這些方法,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • Windows下安裝Scrapy

    Windows下安裝Scrapy

    今天小編就為大家分享一篇關(guān)于Windows下安裝Scrapy,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • pytorch: tensor類型的構(gòu)建與相互轉(zhuǎn)換實例

    pytorch: tensor類型的構(gòu)建與相互轉(zhuǎn)換實例

    今天小編就為大家分享一篇pytorch: tensor類型的構(gòu)建與相互轉(zhuǎn)換實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python格式化字符串f-string概覽(小結(jié))

    Python格式化字符串f-string概覽(小結(jié))

    這篇文章主要介紹了Python格式化字符串f-string概覽(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 如何利用python實現(xiàn)圖片轉(zhuǎn)化字符畫

    如何利用python實現(xiàn)圖片轉(zhuǎn)化字符畫

    這篇文章主要介紹了如何利用python實現(xiàn)圖片轉(zhuǎn)化字符畫,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • 如何利用python實現(xiàn)Simhash算法

    如何利用python實現(xiàn)Simhash算法

    這篇文章主要介紹了如何利用python實現(xiàn)Simhash算法,文章基于python的相關(guān)資料展開Simhash算法的詳細介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-06-06
  • Python爬蟲實例——scrapy框架爬取拉勾網(wǎng)招聘信息

    Python爬蟲實例——scrapy框架爬取拉勾網(wǎng)招聘信息

    這篇文章主要介紹了Python爬蟲實例——scrapy框架爬取拉勾網(wǎng)招聘信息的相關(guān)資料,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python數(shù)據(jù)預(yù)處理 :樣本分布不均的解決(過采樣和欠采樣)

    python數(shù)據(jù)預(yù)處理 :樣本分布不均的解決(過采樣和欠采樣)

    今天小編就為大家分享一篇python數(shù)據(jù)預(yù)處理 :樣本分布不均的解決(過采樣和欠采樣),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • YOLOv8訓(xùn)練自己的數(shù)據(jù)集(詳細教程)

    YOLOv8訓(xùn)練自己的數(shù)據(jù)集(詳細教程)

    YOLO是一種基于圖像全局信息進行預(yù)測的目標檢測系統(tǒng),YOLOv8 是ultralytics公司在2023年1月10號開源的YOLOv5的下一個重大更新版本,這篇文章主要給大家介紹了關(guān)于YOLOv8訓(xùn)練自己的數(shù)據(jù)集的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • paramiko使用tail實時獲取服務(wù)器的日志輸出詳解

    paramiko使用tail實時獲取服務(wù)器的日志輸出詳解

    這篇文章主要給大家介紹了關(guān)于paramiko使用tail實時獲取服務(wù)器的日志輸出的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

西林县| 广西| 安图县| 吉林市| 磐石市| 泸定县| 建平县| 孟连| 东兰县| 北海市| 石狮市| 张家川| 通山县| 嘉善县| 林州市| 多伦县| 昭觉县| 农安县| 铜鼓县| 花莲市| 修水县| 谢通门县| 夏邑县| 怀安县| 临湘市| 天台县| 麦盖提县| 紫金县| 涿州市| 涪陵区| 日土县| 武城县| 都匀市| 扶风县| 临漳县| 铁岭市| 平南县| 新野县| 民勤县| 乌什县| 轮台县|