Python常見內(nèi)置高效率函數(shù)用法示例
本文實例講述了Python常見內(nèi)置高效率函數(shù)用法。分享給大家供大家參考,具體如下:
1. filter(function,sequence)
將sequence中的每個元素,依次傳進(jìn)function函數(shù)(可以自定義,返回的結(jié)果是True或者False)篩選,返回符合條件的元素,重組成一個String,List,Tuple等(跟sequence一樣)
示例
def func(x): return x%2==0 and x%3==0 filter(func,(3,6,8,12,15,21)) #(6, 12)
2. map(functiom,sequence)
將sequence中的每個元素,依次傳進(jìn)function函數(shù)(可以自定義,返回的結(jié)果是數(shù)值)計算,無論sequence是什么類型,都返回List
示例
def func(x): return x*2 map(func,(3,6,8,12,15,21)) #[6, 12, 16, 24, 30, 42]
map支持多個sequence輸入,但是function也要有相同數(shù)量的參數(shù)
def func(x,y): return x+y seq1=[3,6,4,8] seq2=[6,4,3,7] map(func,seq1,seq2) #[9, 10, 7, 15]
注意:以上示例是在python2.7中的,python3要用如下用法
>>> map_obj = map(lambda x:x+1,[1,2,3,4]) >>> map_obj <map object at 0x0000014C511BD898> >>> list(map_obj) [2, 3, 4, 5]
3. reduce(function, sequence, starting_value)
將sequence中的item順序迭代調(diào)用function,例如可以用來對List求和:
def add(x,y): return x+y reduce(add,[3,6,4,8]) #21 #相當(dāng)于運(yùn)行‘3+6+4+8'=21
如果有starting_value,還可以作為初始值調(diào)用
def subtract(x,y): return x-y reduce(subtract,[3,6,4],20) #7 #相當(dāng)于'20-3-6-4'=7
4. lambda匿名函數(shù)
語法:lambda 參數(shù)1,參數(shù)2(,參數(shù)n..):表達(dá)式
返回的是一個函數(shù)對象
示例
func=lambda x,y:x+y func(3,5) #8
將lambda和reduce結(jié)合
reduce(lambda x,y:x+y,[3,6,4,8]) #21
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python基礎(chǔ)請求庫urllib模塊使用深入探究
在Python中,urllib庫是一個強(qiáng)大的模塊,用于處理URLs,它包含了多個子模塊,其中urllib.request是用于發(fā)出HTTP請求的核心組件,本文將深入探討urllib的基本使用、高級功能以及一些實際場景的示例,方便更全面地了解這個重要的網(wǎng)絡(luò)請求工具2024-01-01Pycharm中安裝wordcloud等庫失敗問題及終端通過pip安裝的Python庫如何添加到Pycharm解釋器中(
這篇文章主要介紹了Pycharm中安裝wordcloud等庫失敗問題及終端通過pip安裝的Python庫如何添加到Pycharm解釋器中,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-05-05pandas進(jìn)行時間數(shù)據(jù)的轉(zhuǎn)換和計算時間差并提取年月日
這篇文章主要介紹了pandas進(jìn)行時間數(shù)據(jù)的轉(zhuǎn)換和計算時間差并提取年月日,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07