女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python推導(dǎo)式是什么

python爬蟲(chóng)知識(shí)分享 ? 來(lái)源:python爬蟲(chóng)知識(shí)分享 ? 作者:python爬蟲(chóng)知識(shí)分享 ? 2022-02-28 17:13 ? 次閱讀

python推導(dǎo)式

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

推導(dǎo)式是可以從一個(gè)數(shù)據(jù)序列構(gòu)建另一個(gè)新的數(shù)據(jù)序列的結(jié)構(gòu)體。

總共有四種推導(dǎo)式:

列表(list)推導(dǎo)式

字典(dict)推導(dǎo)式

集合(set)推導(dǎo)式

生成器推導(dǎo)式

1. 列表推導(dǎo)式

列表推導(dǎo)式的基本格式

new_list = [expression for_loop_expression if condition]

舉個(gè)例子。

我想找出一個(gè)數(shù)值列表中為偶數(shù)的元素,并組成新列表,通常不用列表推導(dǎo)式,可以這么寫(xiě)

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]

一個(gè)簡(jiǎn)單的功能,寫(xiě)的代碼倒是不少。

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

>>> 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. 字典推導(dǎo)式

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

new_dict ={ key_expr: value_expr for_loop_expression if condition }

舉個(gè)例子。

我想從一個(gè)包含所有學(xué)生成績(jī)信息的字典中,找出數(shù)學(xué)考滿分的同學(xué)。

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. 集合推導(dǎo)式

集合推導(dǎo)式跟列表推導(dǎo)式也是類似的。 唯一的區(qū)別在于它使用大括號(hào){},組成元素也只要一個(gè)。

基本格式

new_set = { expr for_loop_expression if condition }

舉個(gè)例子

我想把一個(gè)數(shù)值列表里的數(shù)進(jìn)行去重處理

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

4. 生成器推導(dǎo)式

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

列表推導(dǎo)式:生成的是新的列表

生成器推導(dǎo)式:生成的是一個(gè)生成器

直接上案例了,找出一個(gè)數(shù)值列表中所有的偶數(shù)

>>> 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. 嵌套推導(dǎo)式

for 循環(huán)可以有兩層,甚至更多層,同樣的,上面所有的推導(dǎo)式,其實(shí)都可以寫(xiě)成嵌套的多層推導(dǎo)式。

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

舉個(gè)例子。

我想打印一個(gè)乘法表,使用兩個(gè)for可以這樣寫(xiě)

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

如果使用嵌套的列表推導(dǎo)式,可以這么寫(xiě)

>>> 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

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7237

    瀏覽量

    90934
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4823

    瀏覽量

    86080
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    python入門(mén)圣經(jīng)-高清電子書(shū)(建議下載)

    此資料內(nèi)容是一本針對(duì)所有層次的Python 讀者而作的Python 入門(mén)電子書(shū)。 全書(shū)分兩部分:第一部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumPy
    發(fā)表于 04-10 16:53

    Python在嵌入系統(tǒng)中的應(yīng)用場(chǎng)景

    你想把你的職業(yè)生涯提升到一個(gè)新的水平?Python在嵌入系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入開(kāi)發(fā)更多地依賴于C和C++語(yǔ)言,Python的優(yōu)勢(shì)在于其簡(jiǎn)潔的語(yǔ)法、豐富的
    的頭像 發(fā)表于 03-19 14:10 ?468次閱讀

    Python中的迭代器與生成器

    Python迭代器與生成器 列表生成 列表生成也叫做列表推導(dǎo),它本身還是列表,只不過(guò)它是根據(jù)我們定義的規(guī)則來(lái)生成一個(gè)真實(shí)的列表。 ?
    的頭像 發(fā)表于 02-20 10:43 ?287次閱讀

    Python繪圖Matplotlib快速參考手冊(cè)

    ?PYTHON
    發(fā)表于 02-07 14:04 ?0次下載

    使用Python實(shí)現(xiàn)xgboost教程

    使用Python實(shí)現(xiàn)XGBoost模型通常涉及以下幾個(gè)步驟:數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練、模型評(píng)估和模型預(yù)測(cè)。以下是一個(gè)詳細(xì)的教程,指導(dǎo)你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發(fā)表于 01-19 11:21 ?1078次閱讀

    對(duì)比Python與Java編程語(yǔ)言

    使得編寫(xiě)代碼更加靈活,但也可能導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。 Java 語(yǔ)法相對(duì)冗長(zhǎng),需要顯聲明變量類型,增加了代碼的可讀性和安全性。 靜態(tài)類型系統(tǒng)在編譯時(shí)進(jìn)行類型檢查,減少了運(yùn)行時(shí)錯(cuò)誤。 二、性能 Python 解釋型語(yǔ)言,運(yùn)行速度通常比Java慢,但對(duì)于許多應(yīng)用場(chǎng)景
    的頭像 發(fā)表于 11-15 09:31 ?872次閱讀

    使用Python進(jìn)行圖像處理

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

    buck電路穩(wěn)態(tài)電壓推導(dǎo)過(guò)程

    buck電路(也稱為降壓轉(zhuǎn)換器或降壓穩(wěn)壓器)的穩(wěn)態(tài)電壓推導(dǎo)過(guò)程涉及理解其工作原理以及電路中的電壓和電流關(guān)系。以下是一個(gè)簡(jiǎn)化的推導(dǎo)過(guò)程: Buck電路基本組成 Buck電路主要由以下幾個(gè)部分
    的頭像 發(fā)表于 09-12 15:24 ?1292次閱讀

    pytorch和python的關(guān)系是什么

    在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語(yǔ)言之一。Python的易學(xué)易用、豐富的庫(kù)和框架以及強(qiáng)大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語(yǔ)言。而在深度學(xué)習(xí)領(lǐng)域
    的頭像 發(fā)表于 08-01 15:27 ?3040次閱讀

    Python建模算法與應(yīng)用

    Python作為一種功能強(qiáng)大、免費(fèi)、開(kāi)源且面向?qū)ο蟮木幊陶Z(yǔ)言,在科學(xué)計(jì)算、數(shù)學(xué)建模、數(shù)據(jù)分析等領(lǐng)域展現(xiàn)出了卓越的性能。其簡(jiǎn)潔的語(yǔ)法、對(duì)動(dòng)態(tài)輸入的支持以及解釋性語(yǔ)言的本質(zhì),使得Python在多個(gè)平臺(tái)
    的頭像 發(fā)表于 07-24 10:41 ?1044次閱讀

    Python在AI中的應(yīng)用實(shí)例

    Python在人工智能(AI)領(lǐng)域的應(yīng)用極為廣泛且深入,從基礎(chǔ)的數(shù)據(jù)處理、模型訓(xùn)練到高級(jí)的應(yīng)用部署,Python都扮演著至關(guān)重要的角色。以下將詳細(xì)探討Python在AI中的幾個(gè)關(guān)鍵應(yīng)用實(shí)例,包括機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、自然語(yǔ)言處理、
    的頭像 發(fā)表于 07-19 17:16 ?2312次閱讀

    如何實(shí)現(xiàn)Python復(fù)制文件操作

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

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1891次閱讀

    python訓(xùn)練出的模型怎么調(diào)用

    Python中,訓(xùn)練出的模型可以通過(guò)多種方式進(jìn)行調(diào)用。 1. 模型保存與加載 在Python中,訓(xùn)練好的模型需要被保存,以便在其他程序或會(huì)話中使用。以下是一些常用的模型保存和加載方法。 1.1
    的頭像 發(fā)表于 07-11 10:15 ?3163次閱讀

    用pycharm進(jìn)行python爬蟲(chóng)的步驟

    以下是使用PyCharm進(jìn)行Python爬蟲(chóng)的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是一個(gè)流行的Python集成開(kāi)發(fā)環(huán)境
    的頭像 發(fā)表于 07-11 10:11 ?1289次閱讀