<table id="km2im"></table>
  • <bdo id="km2im"><center id="km2im"></center></bdo>
    • 自動秒收錄
    • 軟件:1973
    • 資訊:56268|
    • 收錄網站:185720|

    IT精英團

    Python中6個堪稱不朽的內置函數

    Python中6個堪稱不朽的內置函數

    瀏覽次數:
    評論次數:
    編輯: 陽煦
    信息來源: ITPUB
    更新日期: 2022-05-24 21:26:30
    摘要

    以下文章來源于公眾號-快學Python,作者朱小五在很多計算機書籍中,它們也通常作為高階函數來介紹。而我自己在日常工作中,經常使用它們來使代碼更快,更易于理解。Lambda函數Lambda函數用于創

    • 正文開始
    • 相關閱讀
    • 推薦作品

    以下文章來自微信官方賬號——學Python,作者朱小武。

    在許多計算機書籍中,它們通常被介紹為高階函數.我經常在日常工作中使用它們來使代碼更快更容易理解。

    函數

    Lambda函數用于創建匿名函數,即沒有名字的函數。只是一個表達式,函數體比def簡單多了。當我們需要創建一個函數來執行單個操作,并且它可以用一行代碼編寫時,我們可以使用匿名函數。

    [arg 1[,arg2,argn]]:表達式

    lambda的主體是一個表達式,而不是代碼塊。lambda表達式中只能封裝有限的邏輯。例如:

    x : x 2

    如果我們還想隨時調用def定義的函數,可以將lambda函數賦給這樣的函數對象。

    add2=lambdax:x 2

    添加2(10)

    輸出結果:

    使用Lambda函數,代碼可以簡化很多。我們再舉一個例子。

    如上圖所示,結果列表newlist是使用lambda函數用一行代碼生成的。

    地圖功能

    map()函數將一個函數映射到一個輸入列表的所有元素。

    映射(函數,可迭代)

    例如,我們首先創建一個函數來返回一個大寫的輸入單詞,然后將這個函數應用于列表顏色中的所有元素。

    defmakeupper(word):

    returnword.upper()

    colors=['紅色','黃色','綠色','黑色']

    colors _ upper=list(map(make upper,colors))

    顏色_大寫

    輸出結果:

    .jpg">

    此外,我們還可以使用匿名函數lambda來配合map函數,這樣可以更加精簡。

    colors=['red','yellow','green','black']
    colors_uppercase=list(map(lambda x: x.upper(),colors))
    colors_uppercase

    如果我們不用Map函數的話,就需要使用for循環。

    如上圖所示,在實際使用中Map函數會比for循環依次列表元素的方法快1.5倍。

    Reduce函數

    當需要對一個列表進行一些計算并返回結果時,reduce()是個非常有用的函數。舉個例子,當需要計算一個整數列表所有元素的乘積時,即可使用reduce函數實現。[1]

    它與函數的最大的區別就是,reduce()里的映射函數(function)接收兩個參數,而map接收一個參數。

    reduce(function, iterable[, initializer]) 

    接下來我們用實例來演示reduce()的代碼執行過程。

    from functools import reduce
    def add(x, y) :   # 兩數相加
        return x + y
    numbers = [1,2,3,4,5]
    sum1 = reduce(add, numbers)   # 計算列表和

    得到結果sum1 = 15,其代碼執行過程如下方動圖所示。

    ▲代碼執行過程動圖

    結合上圖我們會看到,reduce將一個相加函數add()作用在一個列表[1,2,3,4,5]上,映射函數接收了兩個參數,reduce()把結果繼續和列表的下一個元素做累加計算。

    此外,我們同樣可以使用匿名函數lambda來配合reduce函數,這樣可以更加精簡。

    from functools import reduce
    numbers = [1,2,3,4,5]
    sum2 = reduce(lambda x, y: x+y, numbers)

    得到輸出sum2= 15,與之前結果保持一致。

    需要注意:Python3.x開始reduce()已經被移到functools模塊里[2],如果我們要使用,需要用from functools import reduce導入.

    enumerate 函數

    enumerate()函數用于將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在for循環當中。它的語法如下所示:

    enumerate(iterable, start=)

    它的兩個參數,一個是序列、迭代器或其他支持迭代對象;另一個是下標起始位置,默認情況從0開始,也可以自定義計數器的起始編號。

    colors = ['red', 'yellow', 'green', 'black']
    result = enumerate(colors)

    如果我們有一個存放colors的顏色列表,運行后就會得到一個enumerate(枚舉) 對象。它可以直接在for循環中使用,也可以轉換為列表,具體用法如下所示。

    for count, element in result:
        print(f"迭代編號:{count},對應元素:{element}")

    Zip 函數

    zip()函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表[3]。

    我們還是用兩個列表作為例子演示:

    colors = ['red', 'yellow', 'green', 'black']
    fruits = ['apple', 'pineapple', 'grapes', 'cherry']
    for item in zip(colors,fruits):
        print(item)

    輸出結果:

    當我們使用zip()函數時,如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同。

    prices =[100,50,120]
    for item in zip(colors,fruits,prices):
        print(item)

    Filter 函數

    filter()函數用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表,其語法如下所示[4]。

    filter(function, iterable)

    比如舉個例子,我們可以先創建一個函數來檢查單詞是否為大寫,然后使用filter()函數過濾出列表中的所有奇數:

    def is_odd(n):
        return n % 2 == 1

    old_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    new_list = filter(is_odd, old_list)
    print(newlist)

    輸出結果:


    今天分享的這6個內置函數,在使用 Python 進行數據分析或者其他復雜的自動化任務時非常方便。

    如果喜歡本文,歡迎給右下角點贊

    標簽:函數 列表 元素
    深度知識的六個維度:如何讓人工智能真正理解世界?
    ? 上一篇 2022-05-24
    • 深度知識的六個維度:如何讓人工智能真正理解世界?
      0閱讀 0條評論 個贊
      智能的真正標志不是知識,而是想象力。作者|GadiSinger編譯|王玥編輯|陳彩嫻什么知識讓我們變得聰明?我們用來理解世界、解釋新體驗和做出深思熟慮的選擇的認知結構是什么?定義一個闡明……
    • MySQL減肥3種方法 還有誰不行?
      0閱讀 0條評論 個贊
      在使用SQL提數的時候,常會遇到表內有重復值的時候,比如我們想得到uv(獨立訪客),就需要做去重。在MySQL中通常是使用distinct或groupby子句,但在支持窗口函數的sq……
    • 深入了解Linux CPU上下文切換
      0閱讀 0條評論 個贊
      我們都知道Linux是一個多任務操作系統,它支持的任務同時運行的數量遠遠大于CPU的數量。當然,這些任務實際上并不是同時運行的(SingleCPU),而是因為系統在短時間內將CPU輪流分……
    • 嵌入式系統登錄的簡單方法
      0閱讀 0條評論 個贊
      來源|我姓梁很多場景都需要記錄日志,在嵌入式系統中,特別是單片機這種存儲資源有限的環境下,就需要一種輕量級的存儲方法。系統日志在嵌入式設備應用場景中,系統日志時??梢员O控設備軟件的運行狀態,及時記錄……
    • 全網最全面的云原生存儲OpenEBS用戶指南
      0閱讀 0條評論 個贊
      ?本文轉自weiliang的工作筆記,原文:https://weiliang-ms.github.io/wl-awesome/2.%E5%AE%B9%E5%99%A8/k8s/storage/Op……
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    • Linux最常用的命令:解決95%以上的問題
      1閱讀 0條評論 個贊
      Linux是目前應用最廣泛的服務器操作系統,基于Unix,開源免費,由于系統的穩定性和安全性,市場占有率很高,幾乎成為程序代碼運行的最佳系統環境。linux不僅可以長時間的運行我們編寫的程序代碼,還可……
    • 如何在Bash腳本中使用強大的Linux測試命令
      1閱讀 0條評論 個贊
      Linuxtest命令是Shell內置命令,用來檢測某個條件是否成立。test通常和if語句一起使用,并且大部分if語句都依賴test??梢詫⒁粋€元素與另一個元素進行比較,但它更?!?/div>
    • 全網最全面的云原生存儲OpenEBS用戶指南
      0閱讀 0條評論 個贊
      ?本文轉自weiliang的工作筆記,原文:https://weiliang-ms.github.io/wl-awesome/2.%E5%AE%B9%E5%99%A8/k8s/storage/Op……
    • Python字符串深度摘要
      2閱讀 0條評論 個贊
      以下文章來源于公眾號-蘿卜大雜燴,作者周蘿卜今天我們來學習字符串數據類型相關知識,將討論如何聲明字符串數據類型,字符串數據類型與ASCII表的關系,字符串數據類型的屬性,以及一些重要的字符串方法和……
    • MySQL查詢語句的limit offset是如何實現的?
      1閱讀 0條評論 個贊
      在寫select語句的時候,使用limit,offset可能就像是我們吃飯喝水一樣自然了。剛開始工作的時候也經常聽前輩們教導:使用limit,offset,當offset變大的時候執……
    • 如何優雅地升級Kubernetes集群的Docker和Containerd版本
      1閱讀 0條評論 個贊
      前言公司用的k8s集群是“多環境合一”的方式,集群流量入口也摒棄了常見的traefik和ingress-nginx,直接用了一個國內不常見的底層基于Envoy的APIGateway網關服務。當然還有……
    • epoll這個Linux高性能服務的本質真的不簡單
      1閱讀 0條評論 個贊
      設想一個場景:有100萬用戶同時與一個進程保持著TCP連接,而每一時刻只有幾十個或幾百個TCP連接是活躍的(接收TCP包),也就是說在每一時刻進程只需要處理這100萬連接中的一小部分連接。那么,如何才……
    • 前端面試必須解決網絡中的跨域問題
      7閱讀 0條評論 個贊
      什么是跨域瀏覽器有一個重要的安全策略,稱之為「同源策略」其中,源=協議+主機+端口源=協議+主機+端口源=協議+主機+端口,兩個源相同,稱之為同源,兩個源不同,稱之為跨源或跨域比如:源1源2是否同……
    • Linux的10個最危險的命令
      0閱讀 0條評論 個贊
      rm-rf命令該命令可能導致不可恢復的系統崩壞。>rm-rf/#強制刪除根目錄下所有東西。>rm-rf*#強制刪除當前目錄的所有文件。>rm-rf.#強制刪除當前文件夾及其子文件夾。執行rm-r……
    • 1972年的C語言 控制了Windows、Linux、macOS等操作系統的半邊天
      1閱讀 0條評論 個贊
      來源|CSDN(ID:CSDNnews)誕生于1972年的C語言已經50歲了,目前來看,它還像20歲的小伙一樣活力四射,似乎永不會退休,并且正在賦能全世界重量級應用系統的運行。盡管C語言面世多年,……
    • SQL中左連接左表合并去重實用技巧
      0閱讀 0條評論 個贊
      zyc88.blog.csdn.net/article/details/83002882建表:CREATETABLE`table1`(`id`int(11)NOTNULLAUTO_INCREMENT,……
    • MYSQL如果索引優化僅僅是添加索引 太年輕而不簡單
      1閱讀 0條評論 個贊
      MYSQL的索引優化,如果此時此刻看到索引的優化,僅僅想到添加適合的索引,是不完全的,索引的優化本身就具有很多的不確定性。1索引會隨著時間的推移,有性能的衰減2索引會隨著數據量的增加,有性能的衰……
    • 解決緩存崩潰問題的一行代碼
      1閱讀 0條評論 個贊
      以下文章來源于公眾號-孤獨煙,作者孤獨煙引言今天,重新回顧一下緩存擊穿這個問題!之所以寫這個文章呢,因為目前網上流傳的文章落地性太差(什么布隆過濾器啊,布谷過濾器啊,嗯,你們懂的),其實這類方案并不適……
    • MySQL查詢語句的準備階段是什么?
      1閱讀 0條評論 個贊
      以下文章來源于公眾號--一樹一溪,作者一樹一溪這一篇主要講的內容是一條簡單查詢語句,在查詢準備階段會干哪些事情?分3個部分:打開表select*替換為表字段填充where條件示例表及SQ……
    • SQL優化通用公式:5個步驟和10個案例
      1閱讀 0條評論 個贊
      導讀:在應用開發的早期,數據量少,開發人員開發功能時更重視功能上的實現,隨著生產數據的增長,很多SQL語句開始暴露出性能問題,對生產的影響也越來越大,有時可能這些有問題的SQL就是整個系統性能的瓶頸?!?/div>
    • SQL中的三種重復數據刪除方法 還有誰不行?
      1閱讀 0條評論 個贊
      SQL去重是數據分析工作中比較常見的一個場景,今天給大家具體介紹3種去重的方法。在使用SQL提數的時候,常會遇到表內有重復值的時候,比如我們想得到uv(獨立訪客),就需要做去重。在MySQL中……
    • 2022年大數據五大發展趨勢
      7閱讀 0條評論 個贊
      2021年,我們看到圍繞現代數據棧的興起出現了相當大的加速效應。我們現在有一個海嘯般的通訊、影響者、投資者、專門的網站、會議和活動來宣揚它。圍繞現代數據棧的概念(盡管仍處于早期階段)與云中數據工具的爆……
    • JD.COM面試問題:ElasticSearch深度分頁解決方案
      0閱讀 0條評論 個贊
      以下文章來源于月伴飛魚,作者日常加油站前言Elasticsearch是一個實時的分布式搜索與分析引擎,在使用過程中,有一些典型的使用場景,比如分頁、遍歷等。在使用關系型數據庫中,我們被告知要注意甚至……
    • 內存數據庫如何利用內存?
      1閱讀 0條評論 個贊
      與以磁盤存儲為主的普通數據庫相比,內存數據庫的數據訪問速度可以高出幾個數量級,能大幅提高運算性能,更適合高并發、低延時的業務場景。不過,當前大部分內存數據庫仍然采用SQL模型,而SQL缺乏一些……
    • 管理數百個Kubernetes集群需要什么?
      0閱讀 0條評論 個贊
      文章轉載:進擊云原生(版權歸原作者所有,侵刪)要點:部署一個具備生產就緒所需所有依賴關系的Kubernetes集群需要數天時間。如果不自動化這個過程,管理Kubernetes集群的浮動是非常困難的。在……
    • 消息稱印度法院解除對小米7.25億美元資產的凍結
      4閱讀 0條評論 個贊
      據報道,消息人士稱,印度法院解除了對小米公司7.25億美元資產的凍結。執法局在上周查封了小米公司的銀行資產,稱發現該公司“以特許權使用費的名義”向三家外國實體非法匯款,其中包括一家小米集團實體。本周四,在聽取了小米公司律師的意見之后,一名法官宣布暫停執行理事會的決定。小米和執法局沒有立即回應置評請求。法院的書面命令尚未公開。其中一位消息人士表示,作為條件,小米將向印度當局通報特許權使用費等資金轉移情況。根據印度法院網站,該案將于5月12日開庭?!?/div>
    • 我們開始上課吧 布局銀發市場 解決代際溝通是關鍵
      1閱讀 0條評論 個贊
      老年人也需要充沛豐滿的精神世界?!?/div>
    • 如何讓Kubernetes集群優雅地使用GPU節點
      2閱讀 0條評論 個贊
      如何讓你的Kubernetes集群使用GPU節點CUDA驅動程序如果您還沒有這樣做,請確保您已在GPU節點上安裝了NVIDIACUDA驅動程序。CUDA是來自nvidia的并行計算平臺。ht……
    • 老板電器財報烏龍背后:年利潤首次下滑 已過度依賴廚電 將迎接組織考驗
      2閱讀 0條評論 個贊
      作為上市公司對外的重要窗口,財報披露通常會格外嚴謹審慎。而老板電器日前公布的2021年年報,卻出現了18處低級錯誤,讓人大跌眼鏡?!?/div>
    • 海爾小金 JD.COM白條“踩雷”美股教育公司
      0閱讀 0條評論 個贊
      近日,新經濟IPO注意到,中國裁判文書網發布《劉某與長沙市岳麓區鑫美英語培訓學校有限公司教育培訓合同糾紛民事……
    • 中郵凈利潤飆升206%的背后 最高年利率剛剛從36%降到24%
      6閱讀 0條評論 個贊
      近日,機電產品招標投標電子交易平臺發布了《中郵消費金融2022年品牌營銷宣傳服務項目中標候選人名單》。根據該文件,2022中郵消費金融常規品牌宣傳服務總價將在178.6萬-173.75萬之間,企業社會責任宣傳服務總價將在96.1萬至99.8萬之間?!?/div>
    • 萬達王健林網絡小貸將由3變2 掠奪式放貸仍將繼續
      10閱讀 0條評論 個贊
      ?新經濟IPO注意到,重慶市市場監督管理局、天眼查、企查查數據均顯示,重慶萬達小額貸款有限公司當前處于注銷備案階段?!?/div>
    • 快遞不上門的病被菜鳥治好 JD.COM科幻恐慌了嗎?
      5閱讀 0條評論 個贊
      送貨上門給菜鳥驛站做,效果如何?……
    • 尹蓓消費金融2021年凈利潤5821萬元 同比增長26.5%: 21家同業排名第17
      1閱讀 0條評論 個贊
      從目前已經披露的21家消費金融公司業績來看,在凈利潤方面,除中原消金和哈銀消金未披露外,北銀消費金融4194萬元的凈利潤僅高于蘇銀凱基消金的1700萬元和小米消金的368萬元,排名第17位。在資產規模上,北銀消金距離百億仍有一步之遙,排名第15位?!?/div>
    • 詳細解釋Linux中的diff命令和例子
      1閱讀 0條評論 個贊
      文件比較在Linux中起著重要的作用,特別是對于程序員和Linux系統管理員。例如,如果您想找到兩個源代碼文件之間的差異來開發補丁,那么您需要一個文件比較工具來簡化這個過程。Linux中有幾……
    • 三家機構被約談 支付賬戶超限成為新問題
      0閱讀 0條評論 個贊
      中國支付清算協會發布公告稱,2022年4月20日,針對2021年10-12月份舉報處理中發現的特約商戶挪用商戶收款碼、特約商戶轉接或挪用網絡支付接口、超出核準業務覆蓋范圍開展銀行卡收單業務、資金結算不合規、支付賬戶超限額等問題,中國支付清算協會通過線上方式分別對3家相關單位負責人進行了約見談話?!?/div>
    • 知網涉嫌壟斷?市場監管總局回應!人民網評論來了
      1閱讀 0條評論 個贊
      對此,人民網評論稱,知網屢受消費方詬病,頻惹眾怒,甚至引發涉嫌行業壟斷的質疑,按理早該深刻反思自身行為的合理性。收取高額費用、連年漲價,表面上是經營方式問題,但從深層次上看是相關企業缺乏對市場的尊重、對作者和用戶的尊重、對科學事業的尊重?!?/div>
    • 15家銀行信用卡年報盤點
      1閱讀 0條評論 個贊
      勢不可擋的郵儲,持續奮進的平安,艱難重振的浦發…………
    • 阿里、騰訊、美團等網絡股周二大漲 摩根大通上調評級顯效
      3閱讀 0條評論 個贊
      周二的利好報告推動香港科技股飆升。恒生科技指數周二早盤上漲3.2%,其中阿里巴巴上漲3.8%,至87.80港元。騰訊上漲3.2%,至361.20港元。美團和京東上漲至少3.8%?!?/div>
    • 加密億萬富翁巨額財富幾周毀于一旦:比南CEO趙昌鵬損失或最慘重
      1閱讀 0條評論 個贊
      至少在賬面上,少數人持股的BINANCE幣安首席執行官趙長鵬損失的財富甚至超過了阿姆斯特朗或諾沃格拉茨。今年1月,他以960億美元的凈資產首次出現在彭博財富指數上,是世界上最大的財富之一。根據Coinbase和加拿大加密貨幣公司Voyager Digital的平均企業價值與銷售額之比計算,截至周三,這一數字已縮水至116億美元?!?/div>
    • 白楊SEO:什么是百家號SEO?如何引流百家號?
      5閱讀 0條評論 個贊
      前言:這是公眾號白楊SEO原創第372篇。為什么再寫百家號?一是因為還有很多個人或企業沒有重視;二是現在網站SEO并不好做,不管白帽SEO還是其它。認真看完,?!?/div>
    • 重慶農商行首任董事長劉建中因年齡原因辭職 謝打算接手
      2閱讀 0條評論 個贊
      今日晚間,重慶農村商業銀行(HK:03618)宣布,董事會于2022年4月22日接獲董事長劉建忠先生的辭職報告。由于年齡原因,他辭去該行董事長、執行董事、港交所授權代表、董事會戰略發展委員會主任委員、董事會三農金融服務委員會主任委員及董事會提名委員會委員職務。他的辭任自其辭職報告送達董事會之日起生效。謝文輝獲董事會選舉為第五屆董事會董事長,自銀保監會重慶監管局核準之日起生效?!?/div>
    • 郵儲銀行董事長張津梁辭職
      0閱讀 0條評論 個贊
      行長劉建軍代為履行職務?!?/div>
    • 12萬血本無歸!小白個人賬戶失血的背后:理財“殺豬”的模式套路
      7閱讀 0條評論 個贊
      目前有部分投資人報案,而平臺已經處于徹底失聯狀態。從2000元半信半疑試水入場,到數萬元滿懷期待加碼投入,直至最后12萬元血本無歸。近兩日,一自稱理財小白的讀者向北京商報記者講述了他今年以來的血淚投資史,快錢沒賺成反被騙,和他一樣,很多投資人都未曾想到的是,這是一個螳螂捕蟬黃雀在后的擊鼓傳花游戲:“投資人”抱著僥幸心理等待收益,但背后的資金盤卻瞄準時間一把收割?!?/div>
    • 合力寶財報:營收增長近40% 凈利潤增長超60%
      3閱讀 0條評論 個贊
      合利寶母公司仁東控股發布2021年財報,財報顯示,仁東控股營收17.2億,同比下降18.11%,歸屬于上市公司股東的凈利潤-5238.33萬元,同比增加87.84%,較之2020年(-4.30億)虧損有所收窄?!?/div>
    最近發布資訊
    更多
    国产H视频在线播放,国产毛多水多的老女人,国产成人午夜福利电影在线播放
    <table id="km2im"></table>
  • <bdo id="km2im"><center id="km2im"></center></bdo>