日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

python爬蟲知識(shí)分享 ? 來源:python爬蟲知識(shí)分享 ? 作者:python爬蟲知識(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)式,可以這么寫

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)單的功能,寫的代碼倒是不少。

如果使用了列表推導(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í)都可以寫成嵌套的多層推導(dǎo)式。

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

舉個(gè)例子。

我想打印一個(gè)乘法表,使用兩個(gè)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

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

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

    關(guān)注

    8

    文章

    7349

    瀏覽量

    95058
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4889

    瀏覽量

    90330
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    RK3576 單板機(jī) C/Python/MQTT 應(yīng)用開發(fā)手冊(cè)(二)

    流程,覆蓋 C/Python 雙語(yǔ)言開發(fā)。創(chuàng)龍科技通過標(biāo)準(zhǔn)化實(shí)操方案,助力開發(fā)者快速實(shí)現(xiàn)外設(shè)控制與物聯(lián)網(wǎng)通信,縮短嵌入產(chǎn)品開發(fā)周期。
    的頭像 發(fā)表于 04-21 10:43 ?111次閱讀
    RK3576 單板機(jī) C/<b class='flag-5'>Python</b>/MQTT 應(yīng)用開發(fā)手冊(cè)(二)

    RK3576 單板機(jī) C/Python/MQTT 應(yīng)用開發(fā)手冊(cè)(一)

    流程,覆蓋 C/Python 雙語(yǔ)言開發(fā)。創(chuàng)龍科技通過標(biāo)準(zhǔn)化實(shí)操方案,助力開發(fā)者快速實(shí)現(xiàn)外設(shè)控制與物聯(lián)網(wǎng)通信,縮短嵌入產(chǎn)品開發(fā)周期。
    的頭像 發(fā)表于 04-20 13:55 ?390次閱讀
    RK3576 單板機(jī) C/<b class='flag-5'>Python</b>/MQTT 應(yīng)用開發(fā)手冊(cè)(一)

    使用PYTHON進(jìn)行的跨平臺(tái)仿真

    如何使用編程語(yǔ)言Python來調(diào)用和控制VirtualLab Fusion中的模擬。請(qǐng)查看下面鏈接的文檔,以找到關(guān)于如何設(shè)置和使用Python和VirtualLab Fusion之間的接口的詳細(xì)指南,以及一個(gè)
    發(fā)表于 04-02 08:21

    [VirtualLab] 使用Python運(yùn)行VirtualLab Fusion光學(xué)仿真

    摘要 VirtualLab Fusion允許Python外部訪問其建模技術(shù)、求解器和結(jié)果。這個(gè)用例介紹了一種使用路徑變量和Visual Studio代碼將Python連接到VirtualLab
    發(fā)表于 03-31 09:39

    [VirtualLab] 使用Python進(jìn)行跨平臺(tái)參數(shù)掃描

    摘要 VirtualLab Fusion允許外部訪問其建模技術(shù)、求解器和結(jié)果。這有助于應(yīng)用其他數(shù)據(jù)處理或優(yōu)化工具來進(jìn)一步研究光學(xué)模擬。在本示例中,我們演示如何使用Python腳本運(yùn)行參數(shù)掃描,以及
    發(fā)表于 03-31 09:36

    如何在 VisionFive 上使用 Python 包?

    VisionFive Fedora 下的本地目錄,請(qǐng)?jiān)谠创a目錄下執(zhí)行以下命令: 提示:源代碼可從以下位置下載:愿景五.gpio. sudo yum install python
    發(fā)表于 03-30 08:28

    沒有專利的opencv-python 版本

    所有 官方發(fā)布的 opencv-python 核心版本(無 contrib 擴(kuò)展)都無專利風(fēng)險(xiǎn)——專利問題僅存在于 opencv-contrib-python 擴(kuò)展模塊中的少數(shù)算法(如早期 SIFT
    發(fā)表于 12-13 12:37

    一文了解Mojo編程語(yǔ)言

    CPU、GPU 和其他加速器的支持,簡(jiǎn)化了并行編程模型。 漸進(jìn)類型系統(tǒng) 結(jié)合靜態(tài)類型檢查和類型推導(dǎo),既保證編譯時(shí)安全性,又保留動(dòng)態(tài)類型的靈活性。 應(yīng)用場(chǎng)景 AI 與機(jī)器學(xué)習(xí) 用于訓(xùn)練大型模型和實(shí)時(shí)推理
    發(fā)表于 11-07 05:59

    Python調(diào)用API教程

    兩個(gè)不同系統(tǒng)之間的信息交互。在這篇文章中,我們將詳細(xì)介紹Python調(diào)用API的方法和技巧。 一、用Requests庫(kù)發(fā)送HTTP請(qǐng)求 使用Python調(diào)用API的第一步是發(fā)送HTTP請(qǐng)求,通常
    的頭像 發(fā)表于 11-03 09:15 ?1229次閱讀

    基于8位Booth編碼的公式推導(dǎo)

    我們使用基于8位的Booth編碼對(duì)乘法器進(jìn)行修改 首先介紹一下基于4位的Booth編碼公式推導(dǎo): 對(duì)于P=A*B來說,將B以2進(jìn)制碼表示,可以轉(zhuǎn)化為以下式子: 由于 將奇數(shù)位的運(yùn)算拆分
    發(fā)表于 10-22 07:14

    I1電流計(jì)算對(duì)不對(duì)?怎么推導(dǎo)不出來I1的表達(dá)式是圖中那樣

    I1電流計(jì)算對(duì)不對(duì)?怎么推導(dǎo)不出來I1的表達(dá)式是圖中那樣
    發(fā)表于 09-28 18:01

    termux調(diào)試python猜數(shù)字游戲

    用termux做一個(gè)猜數(shù)字游戲 下面是在Termux中創(chuàng)建猜數(shù)字游戲的步驟及完整實(shí)現(xiàn)方案,結(jié)合Python實(shí)現(xiàn)(最適配Termux環(huán)境): ? 一、環(huán)境準(zhǔn)備(Termux基礎(chǔ)配置) 1.
    發(fā)表于 08-29 17:15

    termux如何搭建python游戲

    termux如何搭建python游戲 Termux搭建Python游戲開發(fā)環(huán)境的完整指南 一、Termux基礎(chǔ)環(huán)境準(zhǔn)備 Termux是一款無需root即可在安卓設(shè)備上運(yùn)行的Linux終端
    發(fā)表于 08-29 07:06

    python app不能運(yùn)行怎么解決?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    發(fā)表于 08-06 06:27

    【電磁兼容單位換算】EMC常用單位轉(zhuǎn)換公式推導(dǎo)

    【電磁兼容單位換算】EMC常用單位轉(zhuǎn)換公式推導(dǎo)
    的頭像 發(fā)表于 06-24 17:28 ?4483次閱讀
    【電磁兼容單位換算】EMC常用單位轉(zhuǎn)換公式<b class='flag-5'>推導(dǎo)</b>
    伊春市| 岳池县| 东丽区| 峨山| 成安县| 额敏县| 三台县| 罗山县| 兰溪市| 招远市| 泰兴市| 凌海市| 满洲里市| 垣曲县| 大足县| 晋江市| 黑山县| 邳州市| 佛教| 堆龙德庆县| 江北区| 芦山县| 浦北县| 灵寿县| 达州市| 盐亭县| 大渡口区| 简阳市| 高青县| 炎陵县| 梓潼县| 项城市| 东阳市| 临漳县| 彭山县| 通江县| 涿州市| 合作市| 稷山县| 大田县| 新丰县|