溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python基礎(chǔ)【高階函數(shù)】

發(fā)布時間:2020-04-29 18:27:54 來源:網(wǎng)絡(luò) 閱讀:1240 作者:流域哈哈 欄目:編程語言

高階函數(shù)

map(fun,seq)

將seq中的元素依次作為參數(shù)傳入fun,返回由函數(shù)返回值組成的新的列表。
python3:返回一個map對象
python2:返回列表
可以用list將對象轉(zhuǎn)換為列表進行調(diào)用

代碼:

        def fun(a):
            return a+1
        print(map(fun,[1,2,3,4,5]))
        print(list(map(fun,[1,2,3,4,5])))

輸出結(jié)果:

Python基礎(chǔ)【高階函數(shù)】


filter(fun,seq)

函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該函數(shù)接收兩個參數(shù),第一個為函數(shù),第二個為序列,序列的每個元素作為參數(shù)傳遞給函數(shù)進行判,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。
python3:返回一個filter對象
python2:返回列表

代碼:

        def fun(a):
                return True if a%2==1 else False
        print(filter(fun,[1,2,3,4,5]))
        print(list(filter(fun,[1,2,3,4,5])))

輸出結(jié)果:

Python基礎(chǔ)【高階函數(shù)】


reduce(fun,seq)

reduce傳入一個函數(shù)一個序列
fun的參數(shù)必須是2個
首次將seq中前兩個元素傳入fun中,隨后每次將返回值和下一個元素作為新的參數(shù)傳入函數(shù),直到傳入序列中最后一個元素為止,返回一個最后的返回值。
reduce()是python2中的內(nèi)置函數(shù)
python3中需要導(dǎo)入funtools包。
from funtools import reduce

代碼:

        import functools
        from functools import reduce
        def fun(a,b):
                return a+b
        print(reduce(fun,[1,2,3,4,5]))

輸出結(jié)果:

Python基礎(chǔ)【高階函數(shù)】


sorted(seq,key=...,reverse=...)

函數(shù)對所有可迭代的對象進行排序操作。
返回一個由seq序列組成的新的序列
利用key可對需要排序的元素進行篩選

代碼:

        print(sorted([3,1,2,5,4],reverse=True)) ## 逆序
        print(sorted([3,1,2,5,4],key=lambda x:x*-1)) ## 取參數(shù)的相反數(shù)進行排序

輸出結(jié)果:

Python基礎(chǔ)【高階函數(shù)】

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI