国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

六個Python進階用法介紹

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-28 16:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 列表生成式和生成器

from numpy import random
a = random.random(10000)

lst = []
for i in a:
    lst.append(i * i)  # 不推薦做法

lst = [i * i for i in a]  # 使用列表生成式

gen = (i * i for i in a)  # 生成器更節省內存

2 字典推導式創建子集

a = {'apple': 5.6, 'orange': 4.7, 'banana': 2.8}
da = {key: value for key, value in a.items() if value > 4.0}
print(da)  # {'apple': 5.6, 'orange': 4.7}

3 Key使用itemgetter多字段排序

from operator import itemgetter
a = [{'date': '2019-12-15', 'weather': 'cloud'},
     {'date': '2019-12-13', 'weather': 'sunny'},
     {'date': '2019-12-14', 'weather': 'cloud'}]

a.sort(key=itemgetter('weather', 'date'))
print(a)
# [{'date': '2019-12-14', 'weather': 'cloud'}, {'date': '2019-12-15', 'weather': 'cloud'}, {'date': '2019-12-13', 'weather': 'sunny'}]

4 Key使用itemgetter分組

from operator import itemgetter
from itertools import groupby
a.sort(key=itemgetter('weather', 'date'))  # 必須先排序再分組
for k, items in groupby(a, key=itemgetter('weather')):
    print(k)
    for i in items:
        print(i)

5 sum類聚合函數與生成器

Python中的聚合類函數sum,min,max第一個參數是iterable類型,一般使用方法如下:

a = [4,2,5,1]
sum([i+1for i in a]) # 16

使用列表生成式[i+1 for i in a]創建一個長度與a一樣的臨時列表,這步完成后,再做sum聚合。

試想如果你的數組a長度是百萬級,再創建一個這樣的臨時列表就很不劃算,最好是一邊算一邊聚合,稍改動為如下:

a = [4,2,5,1]
sum(i+1for i in a) # 16

此時i+1 for i in a(i+1 for i in a)的簡寫,得到一個生成器(generator)對象,如下所示:

In [8]:(i+1for i in a)
OUT [8]: at 0x000002AC7FFA8CF0>

生成器每迭代一步吐出(yield)一個元素并計算和聚合后,進入下一次迭代,直到終點。

6 ChainMap邏輯上合并多個字典

dic1 = {'x': 1, 'y': 2 }
dic2 = {'y': 3, 'z': 4 }
merged = {**dic1, **dic2} # {'x': 1, 'y': 3, 'z': 4}

修改merged['x']=10,dic1中的x不變

ChainMap只在邏輯上合并,在內部創建了一個容納這些字典的列表。

from collections import ChainMap
merged = ChainMap(dic1,dic2)
print(merged)
# ChainMap({'x': 1, 'y': 2}, {'y': 3, 'z': 4})

使用ChainMap合并字典,修改merged['x']=10,dic1中的x

審核編輯:湯梓紅

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

    關注

    9

    文章

    3210

    瀏覽量

    76376
  • 生成器
    +關注

    關注

    7

    文章

    322

    瀏覽量

    22715
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    軸驅動,如何一步到位?TMCM-6214 的多軸控制!

    多軸運動控制,聽起來就讓人頭大:布線像蜘蛛網、編程像天書、控制柜擠得像沙丁魚罐頭。每增加一軸,線纜多一堆,代碼量蹭蹭漲,空間還得精打細算。一模塊搞定六個軸有沒有一模塊能把
    的頭像 發表于 03-05 16:05 ?37次閱讀
    <b class='flag-5'>六</b>軸驅動,如何一步到位?TMCM-6214 的多軸控制!

    C語言函數指針的六個高級的應用場景

    函數指針是一種非常強大的編程工具,它可以讓我們以更加靈活的方式編寫程序。在本文中,我們將介紹 6 函數指針的高級應用場景,并貼出相應的代碼案例和解釋。 回調函數 回調函數是指在某個事件發生時被
    發表于 01-04 12:25

    ETAS INCA軟件的五實用進階功能

    在上一篇文章中我們介紹了INCA軟件如何賦能高效的ECU開發及新能源挑戰,本篇內容將繼續深入探討INCA的五實用進階功能。
    的頭像 發表于 12-08 16:42 ?2381次閱讀
    ETAS INCA軟件的五<b class='flag-5'>個</b>實用<b class='flag-5'>進階</b>功能

    C語言的printf基本用法介紹

    小數。f 是 float 的簡寫。 除了這些,printf 支持更加復雜和優美的輸出格式,考慮到讀者的基礎暫時不夠,我們將在《C語言數據輸出大匯總以及輕量進階》一節中展開講解。 我們把代碼補充完整
    發表于 11-12 07:04

    ?CDC204 3.3V路反相器/時鐘驅動器技術文檔總結

    CDC204 包含六個獨立的逆變器。該器件執行布爾函數 Y = A\。它專為開關輸出之間需要低偏斜的應用而設計。 CDC204 的特點是從 T ~一~ = 25°C 至 70°C。
    的頭像 發表于 09-24 10:50 ?2221次閱讀
    ?CDC204 3.3V<b class='flag-5'>六</b>路反相器/時鐘驅動器技術文檔總結

    Linux基礎命令的進階用法

    凌晨2點,正在熟睡的你被電話驚醒:"線上服務響應超時,用戶大面積投訴!" 你匆忙打開電腦,SSH 登錄服務器,面對滿屏的進程和日志,腦子一片空白——從哪里開始排查?用什么命令?怎么快速定位問題?
    的頭像 發表于 09-02 16:33 ?696次閱讀

    termux調試python猜數字游戲

    用termux做一猜數字游戲 下面是在Termux中創建猜數字游戲的步驟及完整實現方案,結合Python實現(最適配Termux環境): ? 一、環境準備(Termux基礎配置) 1.
    發表于 08-29 17:15

    LP8863-Q1 具有六個 150 mA 通道的汽車顯示 LED 背光驅動器技術手冊

    LP8863-Q1 是一款帶有升壓控制器的汽車高效 LED 驅動器。六個高精度電流吸收器支持相移,相移可根據使用的通道數自動調整。電流吸收器亮度可以通過 SPI 或 I2C 接口單獨和全局控制;亮度
    的頭像 發表于 08-26 10:21 ?1047次閱讀
    LP8863-Q1 具有<b class='flag-5'>六個</b> 150 mA 通道的汽車顯示 LED 背光驅動器技術手冊

    SN74AHCT04路反相器技術解析與應用指南

    Texas Instruments SN74AHCT04路逆變器包含六個獨立的逆變器并執行布爾函數Y = A。Texas Instruments SN74AHCT04具有TTL輸入電平,允許從3.3V向上轉換到5V。
    的頭像 發表于 08-15 10:28 ?1758次閱讀
    SN74AHCT04<b class='flag-5'>六</b>路反相器技術解析與應用指南

    RK3568驅動指南|驅動基礎進階篇-進階7 向系統中添加一系統調用

    RK3568驅動指南|驅動基礎進階篇-進階7 向系統中添加一系統調用
    的頭像 發表于 05-21 14:15 ?713次閱讀
    RK3568驅動指南|驅動基礎<b class='flag-5'>進階</b>篇-<b class='flag-5'>進階</b>7 向系統中添加一<b class='flag-5'>個</b>系統調用

    Altium Designer PCB設計高級進階

    對PCB設計的高級進階的內容進行相關的介紹 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內容有幫助可以關注、點贊、評論支持一下哦~)
    發表于 04-27 16:40

    python入門圣經-高清電子書(建議下載)

    和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內容; 第二部分將理論付諸實踐,講解如何開發三項目,包括簡單的Python
    發表于 04-10 16:53

    關于功率模塊冷卻的六個常見問題

    的壽命并使其發揮最佳性能。本文章將概述在為應用設計功率模塊時可能出現的關于功率模塊冷卻的六個常見問題。1.器件溫度是否均勻?功率晶體管和二極管等功率元器件會產生局部熱
    的頭像 發表于 04-08 11:42 ?758次閱讀
    關于功率模塊冷卻的<b class='flag-5'>六個</b>常見問題

    函數指針的六個常見應用場景

    函數指針在嵌入式開發中有著廣泛的應用,它讓代碼更加靈活,減少冗余,提高可擴展性。很多時候,我們需要根據不同的情況動態調用不同的函數,而函數指針正是實現這一需求的重要工具。本文將介紹六個常見的函數指針
    的頭像 發表于 04-07 11:58 ?1477次閱讀
    函數指針的<b class='flag-5'>六個</b>常見應用場景

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行一簡單的Pyth
    的頭像 發表于 03-25 09:27 ?2039次閱讀
    零基礎入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?