亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python列表推導(dǎo)式與生成器表達式用法示例

 更新時間:2018年02月08日 09:38:43   作者:Rangethan  
這篇文章主要介紹了Python列表推導(dǎo)式與生成器表達式用法,簡單描述了Python列表推導(dǎo)式與生成器表達式的概念、功能,并結(jié)合具體實例形式分析了Python列表推導(dǎo)式與生成器表達式簡單使用技巧,需要的朋友可以參考下

本文實例講述了Python列表推導(dǎo)式與生成器表達式用法。分享給大家供大家參考,具體如下:

和列表一樣,列表推導(dǎo)式也采用方括號[]表示,并且用到了一個簡寫版的for循環(huán),第一部分是一個生成結(jié)果列表元素的表達式,第二部分是一個輸入表達式上的循環(huán)。閱讀理解列表表達式的推薦做法是先從里面的for循環(huán)開始,向右查看是否有if條件,然后將推導(dǎo)式開始的那個表達式映射到每一個匹配的元素上去。

>>> even_numbers = [x for x in range(10) if x%2 == 0]
>>> even_numbers
[0,2,4,6,8]

以上例子展示了使用if語句來過濾元素。

Python還支持另外一種和列表表達式類似的結(jié)構(gòu),叫做生成器表達式(generator expression),除了它有一種稱之為“惰性計算”的特點以外,它和列表推導(dǎo)式的用法基本一致。它的工作方式是每次處理一個對象,而不是一口氣處理和構(gòu)造整個數(shù)據(jù)結(jié)構(gòu),這樣做的潛在優(yōu)點是可以節(jié)省大量的內(nèi)存。

>>> even_numbers = (x for x in range(10000) if x%2 == 0)
>>> even_numbers
<generator object at 0x....>

在處理大量的數(shù)據(jù)是,最好考慮生成器表達式而不是列表推導(dǎo)式。

另一個列表推導(dǎo)式和生成器表達式的例子是:

>>> data = ['abc','def','I use python', 'hong201']
>>> sum([len(word) for word in data])
25
>>> sum(len(word) for word in data)
25

enumerate()是一個同時能讓你迭代和計數(shù)的內(nèi)置函數(shù),而for循環(huán)自身只能迭代而沒辦法計數(shù):

>>> data = [123,"abc",3.14]
>>> for i in enumerate(data):
...   print i
...
(0, 123)
(1, 'abc')
(2, 3.14)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python列表(list)操作技巧總結(jié)》、《Python數(shù)組操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進階經(jīng)典教程》及《Python數(shù)據(jù)結(jié)構(gòu)與算法教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Pytorch之contiguous的用法

    Pytorch之contiguous的用法

    今天小編就為大家分享一篇Pytorch之contiguous的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python中re.findall函數(shù)實例用法

    python中re.findall函數(shù)實例用法

    在本篇文章里小編給大家整理了一篇關(guān)于python中re.findall函數(shù)實例用法相關(guān)內(nèi)容,有興趣的朋友們可以學習下。
    2021-09-09
  • 用代碼幫你了解Python基礎(chǔ)(1)

    用代碼幫你了解Python基礎(chǔ)(1)

    這篇文章主要用代碼幫你了解Python基礎(chǔ),使用數(shù)據(jù)類型和變量以及字符串和格式化的示例代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python中ModuleNotFoundError錯誤的問題解決

    Python中ModuleNotFoundError錯誤的問題解決

    本文主要介紹了Python中ModuleNotFoundError錯誤的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • 分享Pytest fixture參數(shù)傳遞的幾種方式

    分享Pytest fixture參數(shù)傳遞的幾種方式

    這篇文章主要分享的是Pytest fixture參數(shù)傳遞的幾種方式,文章基于python的相關(guān)資料展開對主題的詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • 淺談openpyxl庫,遇到批量合并單元格的問題

    淺談openpyxl庫,遇到批量合并單元格的問題

    這篇文章主要介紹了淺談openpyxl庫,遇到批量合并單元格的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • jupyter?notebook?中使用ipython?魔法指令的詳細過程

    jupyter?notebook?中使用ipython?魔法指令的詳細過程

    在?Jupyter?Notebook?中,IPython?魔法指令為數(shù)據(jù)分析和探索提供了很多便利,這篇文章主要介紹了jupyter?notebook?中使用ipython?魔法指令的詳細過程,需要的朋友可以參考下
    2024-06-06
  • pycharm 實現(xiàn)顯示project 選項卡的方法

    pycharm 實現(xiàn)顯示project 選項卡的方法

    今天小編就為大家分享一篇pycharm 實現(xiàn)顯示project 選項卡的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python使用matplotlib繪制等高線圖的兩種方法

    python使用matplotlib繪制等高線圖的兩種方法

    在matplotlib.pyplot 中除了可以繪制常規(guī)圖表如折線、柱狀、散點等,還可以繪制常用在地理上的平面展示地型的等高線圖,在本中,我們將詳細學習matplotlib 繪制等高線圖相關(guān)屬性的學習,需要的朋友可以參考下
    2023-11-11
  • 詳解numpy.meshgrid()方法使用

    詳解numpy.meshgrid()方法使用

    這篇文章主要介紹了詳解numpy.meshgrid()方法使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08

最新評論