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

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

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

3天內不再提示

6個堪稱神仙的內置函數

科技綠洲 ? 來源:快學Python ? 作者:快學Python ? 2023-10-21 14:41 ? 次閱讀

之前給大家分享過3個節省時間的Python技巧,當時就提出了,大家可以多使用Python的 內置函數 ,既能提高自己的Python程序速度,同時還能保持代碼簡潔易懂。

今天,它們就來了,我們會一次性分享6個堪稱神仙的內置函數。在很多計算機書籍中,它們也通常作為高階函數來介紹。而我自己在日常工作中,經常使用它們來使代碼更快,更易于理解。

圖片

Lambda 函數

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

lambda [arg1 [,arg2,.....argn]]:expression

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

lambda x: x+2

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

add2 = lambda x: x+2
add2(10)

輸出結果:

圖片

利用Lambda函數,可以將代碼簡化很多,具體再舉個例子。

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

Map 函數

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

map(function,iterable)

比如我們先創建了一個函數來返回一個大寫的輸入單詞,然后將此函數應有到列表colors中的所有元素。

def makeupper(word):
    return word.upper()

colors=['red','yellow','green','black']
colors_uppercase=list(map(makeupper,colors))
colors_uppercase

輸出結果:

圖片

此外,我們還可以使用匿名函數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]^

它與map函數的最大的區別就是,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)

它的兩個參數,一個是序列、迭代器或其他支持迭代對象;另一個是下標起始位置,默認情況從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 進行數據分析或者其他復雜的自動化任務時非常方便。

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

    關注

    117

    文章

    3785

    瀏覽量

    81004
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62573
  • 代碼
    +關注

    關注

    30

    文章

    4779

    瀏覽量

    68525
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84628
收藏 人收藏

    評論

    相關推薦

    關于Python巧妙而強大的內置函數

    python內置了一些非常巧妙而且強大的內置函數,對初學者來說,一般不怎么用到,我也是用了一段時間python之后才發現,哇還有這么好的函數,這個
    發表于 12-14 14:52 ?539次閱讀
    關于Python巧妙而強大的<b class='flag-5'>內置</b><b class='flag-5'>函數</b>

    可調電源電路問題,求各路神仙指教

    自學模電中遇到電源電路問題,輸出正負3V到12V的可調電壓電源電路,為什么我畫的不能輸出3V到12V。輸出的正電壓在不停增長,輸出的負電壓穩定在455uv。我猜可能是變壓器或者整流橋的問題,但是我不知道怎么操作,求各路神仙指教。
    發表于 09-28 21:34

    內置函數真的內置到XC16編譯器嗎?

    內置函數是否在“庫”中,或者它們真的“內置”到XC16編譯器嗎?不可能從編譯器中分離出任何未使用的內置代碼,就像圖書館那樣嗎?我在PIC33E中使用以下內容:u
    發表于 05-07 11:26

    STM32f103zet6使用庫函數點亮一LED

    STM32f103zet6使用庫函數點亮一LED
    發表于 05-22 10:34 ?119次下載
    STM32f103zet<b class='flag-5'>6</b>使用庫<b class='flag-5'>函數</b>點亮一<b class='flag-5'>個</b>LED

    python的內置函數詳細資料概述

    本文檔的主要內容詳細介紹的是python的內置函數詳細資料概述。
    發表于 11-18 08:00 ?0次下載

    python的常用函數有哪些

    map() 是 Python 內置的高階函數,它接收一函數 f 和一list ,并通過把函數
    發表于 02-25 11:52 ?9次下載
    python的常用<b class='flag-5'>函數</b>有哪些

    python提供的68內置函數詳解

    ? 內置函數就是Python給你提供的,拿來直接用的函數,比如print.,input等。 截止到python版本3.6.2 ,python一共提供了68
    的頭像 發表于 10-27 09:14 ?2181次閱讀

    進階必備的68Python 內置函數分析

    來源: pypypypy 內置函數就是Python給你提供的,拿來直接用的函數,比如print.,input等。 截止到python版本3.6.2 ,python一共提供了68
    的頭像 發表于 11-01 10:18 ?4057次閱讀

    msp430內置函數總結 __bic_SR_register(),__delay_cycles(x)

    msp430內置函數總結 __bic_SR_register(),__delay_cycles(x)
    發表于 11-25 09:51 ?0次下載
    msp430<b class='flag-5'>內置</b><b class='flag-5'>函數</b>總結 __bic_SR_register(),__delay_cycles(x)

    推薦一Python超級好用的內置函數lambda

    在Python當中,我們經常使用lambda關鍵字來聲明一匿名函數,所謂地匿名函數,通俗地來講就是沒有名字的函數
    的頭像 發表于 09-13 18:09 ?1007次閱讀
    推薦一<b class='flag-5'>個</b>Python超級好用的<b class='flag-5'>內置</b><b class='flag-5'>函數</b>lambda

    input( ) 輸入函數和注釋是什么

    定義:內置函數是Python 自帶的的函數,安裝Python 后可以直接使用。 語法:`函數名(參數)`
    的頭像 發表于 02-23 15:27 ?1584次閱讀
    input( ) 輸入<b class='flag-5'>函數</b>和注釋是什么

    python常用的內置函數和模塊

    python數字包含常用的內置函數和模塊,比如pow()、abs()、floor()、int()等函數,以及math、random等模塊。
    的頭像 發表于 03-10 10:10 ?935次閱讀

    python如何定義一函數

    ()。但你也可以自己創建函數,這被叫做用戶自定義函數。 二、定義一函數 你可以定義一由自己想要功能的
    的頭像 發表于 11-14 11:26 ?709次閱讀

    不屬于python的內置函數

    Python是一種高級編程語言,它提供了許多內置函數,可以幫助開發人員更輕松地處理各種任務。但是,在Python中并非所有的函數都是內置函數
    的頭像 發表于 11-29 14:27 ?1458次閱讀

    函數指針和指針函數是不是一東西?

    函數指針的本質是指針,就跟整型指針、字符指針一樣,函數指針指向的是一函數
    的頭像 發表于 01-03 16:35 ?526次閱讀
    <b class='flag-5'>函數</b>指針和指針<b class='flag-5'>函數</b>是不是一<b class='flag-5'>個</b>東西?
    主站蜘蛛池模板: 国内国外精品影片无人区| 超碰97av 在线人人操| 伊人网久久网| 69式国产真人免费视频| 97在线视频网站| 成人性生交大片免费看金瓶七仙女| 变形金刚7免费观看完整| 国产AV在线传媒麻豆| 国产午夜伦伦伦午夜伦| 精品久久久99大香线蕉| 芒果影院网站在线观看| 欧美午夜精品一区二区蜜桃| 手机看片国产日韩欧美| 亚洲 在线 日韩 欧美| 亚洲人成无码久久久AAA片| 中文字幕无码一区二区免费| 宝贝好紧好爽再搔一点试視頻 | 91女神娇喘| 调教日本美女| 狠狠狠的在啪线香蕉| 免费国产久久拍久久爱| 日韩精品真人荷官无码| 亚洲国产在线精品国| 9420高清免费观看在线大全| 国产91综合| 久久免费电影| 色欲AV精品人妻一区二区麻豆| 亚洲裸舞 hd| 99热视频这里只有久久精品| 国产精品你懂的在线播放| 兰桂坊人成社区亚洲精品| 色欲AV精品人妻一二三区| 曰本女人牲交视频免费| 大胸美女被cao哭| 精品无码一区二区三区中文字幕 | 午夜一级视频| 97人妻丰满熟妇AV无码| 国产人成高清在线视频99| 免费国产精品视频| 亚洲乱码爆乳精品成人毛片| 99视频在线国产|