色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python推導式是什么

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-02-28 17:13 ? 次閱讀

python推導式

推導式(英文名:comprehensions),也叫解析式,是Python的一種獨有特性。

推導式是可以從一個數據序列構建另一個新的數據序列的結構體。

總共有四種推導式:

列表(list)推導式

字典(dict)推導式

集合(set)推導式

生成器推導式

1. 列表推導式

列表推導式的基本格式

new_list = [expression for_loop_expression if condition]

舉個例子。

我想找出一個數值列表中為偶數的元素,并組成新列表,通常不用列表推導式,可以這么寫

old_list = [0,1,2,3,4,5]

new_list = []
for item in old_list:
    if item % 2 == 0:
        new_list.append(item)

print(new_list) # output: [0, 2, 4]

一個簡單的功能,寫的代碼倒是不少。

如果使用了列表推導式,那就簡潔多了,而且代碼還變得更加易讀了。

>>> old_list = [0,1,2,3,4,5]
>>>
>>> new_list = [item for item in old_list if item % 2 == 0]
>>> print(new_list) # output: [0, 2, 4]
[0, 2, 4]

2. 字典推導式

字典推導式的基本格式,和 列表推導式相似,只是把 [] 改成了 {},并且組成元素有兩個:key 和 value,要用 key_expr: value_expr 表示。

new_dict ={ key_expr: value_expr for_loop_expression if condition }

舉個例子。

我想從一個包含所有學生成績信息的字典中,找出數學考滿分的同學。

old_student_score_info = {
    "Jack": {
        "chinese": 87,
        "math": 92,
        "english": 78
    },
    "Tom": {
        "chinese": 92,
        "math": 100,
        "english": 89
    }
}

new_student_score_info = {name: scores for name, scores in old_student_score_info.items() if scores["math"] == 100}
print(new_student_score_info)
# output: {'Tom': {'chinese': 92, 'math': 100, 'english': 89}}

3. 集合推導式

集合推導式跟列表推導式也是類似的。 唯一的區別在于它使用大括號{},組成元素也只要一個。

基本格式

new_set = { expr for_loop_expression if condition }

舉個例子

我想把一個數值列表里的數進行去重處理

>>> old_list = [0,0,0,1,2,3]
>>>
>>> new_set = {item for item in old_list}
>>> print(new_set)
{0, 1, 2, 3}

4. 生成器推導式

生成器推導式跟列表推導式,非常的像,只是把 [] 換成了 ()

列表推導式:生成的是新的列表

生成器推導式:生成的是一個生成器

直接上案例了,找出一個數值列表中所有的偶數

>>> old_list = [0,1,2,3,4,5]
>>> new_list = (item for item in old_list if item % 2 == 0)
>>> new_list
 at 0x10292df10>
>>> next(new_list)
0
>>> next(new_list)
2

5. 嵌套推導式

for 循環可以有兩層,甚至更多層,同樣的,上面所有的推導式,其實都可以寫成嵌套的多層推導式。

但建議最多嵌套兩層,最多的話,代碼就會變得非常難以理解。

舉個例子。

我想打印一個乘法表,使用兩個for可以這樣寫

for i in range(1, 10):
    for j in range(1, i+1):
        print('{}x{}={}\t'.format(j, i, i*j), end='')
    print("")

輸出如下

1x1=1
1x2=2   2x2=4
1x3=3   2x3=6   3x3=9
1x4=4   2x4=8   3x4=12  4x4=16
1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81

如果使用嵌套的列表推導式,可以這么寫

>>> print('\n'.join([' '.join(['%2d *%2d = %2d' % (col, row, col * row) for col in range(1, row + 1)]) for row in range(1, 10)]))
 1 * 1 =  1
 1 * 2 =  2  2 * 2 =  4
 1 * 3 =  3  2 * 3 =  6  3 * 3 =  9
 1 * 4 =  4  2 * 4 =  8  3 * 4 = 12  4 * 4 = 16
 1 * 5 =  5  2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25
 1 * 6 =  6  2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36
 1 * 7 =  7  2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49
 1 * 8 =  8  2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64
 1 * 9 =  9  2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7134

    瀏覽量

    89386
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84945
收藏 人收藏

    評論

    相關推薦

    使用Python實現xgboost教程

    使用Python實現XGBoost模型通常涉及以下幾個步驟:數據準備、模型訓練、模型評估和模型預測。以下是一個詳細的教程,指導你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發表于 01-19 11:21 ?347次閱讀

    對比Python與Java編程語言

    使得編寫代碼更加靈活,但也可能導致運行時錯誤。 Java 語法相對冗長,需要顯聲明變量類型,增加了代碼的可讀性和安全性。 靜態類型系統在編譯時進行類型檢查,減少了運行時錯誤。 二、性能 Python 解釋型語言,運行速度通常比Java慢,但對于許多應用場景
    的頭像 發表于 11-15 09:31 ?405次閱讀

    使用Python進行圖像處理

    下面是一個關于使用Python在幾行代碼中分析城市輪廓線的快速教程。
    的頭像 發表于 11-07 10:14 ?268次閱讀
    使用<b class='flag-5'>Python</b>進行圖像處理

    buck電路穩態電壓推導過程

    buck電路(也稱為降壓轉換器或降壓穩壓器)的穩態電壓推導過程涉及理解其工作原理以及電路中的電壓和電流關系。以下是一個簡化的推導過程: Buck電路基本組成 Buck電路主要由以下幾個部分
    的頭像 發表于 09-12 15:24 ?810次閱讀

    pytorch和python的關系是什么

    在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的庫和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而在深度學習領域
    的頭像 發表于 08-01 15:27 ?2199次閱讀

    Python建模算法與應用

    Python作為一種功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得Python在多個平臺
    的頭像 發表于 07-24 10:41 ?632次閱讀

    Python在AI中的應用實例

    Python在人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python在AI中的幾個關鍵應用實例,包括機器學習、深度學習、自然語言處理、
    的頭像 發表于 07-19 17:16 ?1298次閱讀

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現文件復制的特殊方法。下面我們開始學習這九種不同的方法來實現 Pyt
    的頭像 發表于 07-18 14:53 ?458次閱讀

    Python語言基礎2

    電子發燒友網站提供《Python語言基礎2.rar》資料免費下載
    發表于 07-17 17:23 ?1次下載

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1351次閱讀

    python訓練出的模型怎么調用

    Python中,訓練出的模型可以通過多種方式進行調用。 1. 模型保存與加載 在Python中,訓練好的模型需要被保存,以便在其他程序或會話中使用。以下是一些常用的模型保存和加載方法。 1.1
    的頭像 發表于 07-11 10:15 ?2211次閱讀

    用pycharm進行python爬蟲的步驟

    以下是使用PyCharm進行Python爬蟲的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是一個流行的Python集成開發環境
    的頭像 發表于 07-11 10:11 ?922次閱讀

    Python自動化測試框架及其應用

    Pytest是一個非常成熟的全功能的Python測試框架,與python自帶的unittest測試框架類似,但是比unittest框架使用起來更簡潔,功能更強大。
    的頭像 發表于 04-03 16:15 ?582次閱讀
    <b class='flag-5'>Python</b>自動化測試框架及其應用

    基于Python的地圖繪制教程

    本文將介紹通過Python繪制地形圖的方法,所需第三方Python相關模塊包括 rasterio、geopandas、cartopy 等,可通過 pip 等方式安裝。
    的頭像 發表于 02-26 09:53 ?1285次閱讀
    基于<b class='flag-5'>Python</b>的地圖繪制教程

    如何使用linux下gdb來調試python程序

    如何使用linux下gdb來調試python程序? 在Linux下,可以使用GDB(GNU調試器)來調試Python程序。GDB是一個強大的調試工具,可以幫助開發者診斷和修復程序中的錯誤。在本文
    的頭像 發表于 01-31 10:41 ?2712次閱讀
    主站蜘蛛池模板: 97在线观看免费视频 | 性绞姿始动作动态图 | 精品水蜜桃久久久久久久 | 色综合久久天天影视网 | 最新快播网站 | 色欲AV色欲AV久久麻豆 | 超大号黑吊magnet | 国产午夜精品不卡观看 | 6080伦理久久亚洲精品 | 日本漫画之无彩翼漫画 | 亚洲九九视频 | 亚洲午夜久久久精品影院 | 伊人青青草原 | 使劲别停好大好深好爽动态图 | 俄罗斯女人与马Z00Z视频 | 国产午夜精品视频在线播放 | 国内精品久久久久久久999下 | 高hbl双性浪荡古代 高h 大尺度纯肉 np快穿 | 男人狂躁进女人免费视频公交 | 攵女yin乱合集高h | 国产一在线精品一区在线观看 | 99国产在线视频有精品视频 | 我们日本在线观看免费动漫下载 | 成人免费一区二区无码视频 | 欧美在线激情 | 京香在线观看 | 国产欧美第一页 | 97在线精品视频免费 | yellow免费观看完整版直播 | 久久只有这里有精品4 | 亚洲熟少妇在线播放999 | 毛片大全网站 | 麻豆国产自制在线观看 | java农村野外妇女hd | 国产精品一区二区三区四区五区 | 国产精品成人久久久久A伋 国产精品成人观看视频免费 | 精品成人片深夜 | 四库影院永久国产精品 | 好吊妞在线成人免费 | 欧美zzzoooxxx| 亚洲成人免费观看 |