Python 中堪稱神仙的6個內建函式
大家好,建議大家多使用Python的內建函式,既能提高自己的Python程式速度,同時還能保持程式碼簡潔易懂。
今天,我會一次性分享6個堪稱神仙的內建函式。在很多計算機書籍中,它們也通常作為高階函式來介紹。而我自己在日常工作中,經常使用它們來使程式碼更快,更易於理解。喜歡記得收藏、關注、點贊。
注:完整程式碼、資料、技術交流,文末獲取
Lambda 函式
Lambda函式用於建立匿名函式,即沒有名稱的函式。它只是一個表示式,函式體比def簡單很多。當我們需要建立一個函式來執行單個操作並且可以在一行中編寫時,就可以用到匿名函式了。
lambda [arg1 [,arg2,.....argn]]:expression
1
lambda的主體是一個表示式,而不是一個程式碼塊。僅僅能在lambda表示式中封裝有限的邏輯進去。例如:
lambda x: x+2
1
如果我們也想像def定義的函式隨時呼叫,可以將lambda函式分配給這樣的函式物件。
add2 = lambda x: x+2
add2(10)
1
2
輸出結果:
利用Lambda函式,可以將程式碼簡化很多,具體再舉個例子。
如上圖所示,結果列表newlist是使用lambda函式用一行程式碼生成的。
Map 函式
map()函式會將一個函式對映到一個輸入列表的所有元素上。
map(function,iterable)
1
比如我們先建立了一個函式來返回一個大寫的輸入單詞,然後將此函式應有到列表colors中的所有元素。
def makeupper(word):
return word.upper()
colors=['red','yellow','green','black']
colors_uppercase=list(map(makeupper,colors))
colors_uppercase
1
2
3
4
5
6
此外,我們還可以使用匿名函式lambda來配合map函式,這樣可以更加精簡。
colors=['red','yellow','green','black']
colors_uppercase=list(map(lambda x: x.upper(),colors))
colors_uppercase
1
2
3
如果我們不用Map函式的話,就需要使用for迴圈。
如上圖所示,在實際使用中Map函式會比for迴圈依次列表元素的方法快1.5倍。
Reduce函式
當需要對一個列表進行一些計算並返回結果時,reduce()是個非常有用的函式。舉個例子,當需要計算一個整數列表所有元素的乘積時,即可使用reduce函式實現。[1]
它與函式的最大的區別就是,reduce()裡的對映函式(function)接收兩個引數,而map接收一個引數。
reduce(function, iterable[, initializer])
1
接下來我們用例項來演示reduce()的程式碼執行過程。
from functools import reduce
def add(x, y) : # 兩數相加
return x + y
numbers = [1,2,3,4,5]
sum1 = reduce(add, numbers) # 計算列表和
1
2
3
4
5
得到結果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)
1
2
3
得到輸出sum2= 15,與之前結果保持一致。
需要注意:Python3.x開始reduce()已經被移到functools模組裡[2],如果我們要使用,需要用from functools import reduce匯入.
————————————————
版權宣告:本文為CSDN博主「Python資料探勘」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/qq_34160248/article/details/124763983
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2897576/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python 66個內建函式Python函式
- Python中的56個內建函式詳解(七)Python函式
- python的部分內建函式Python函式
- python常用內建函式Python函式
- Python內建函式(一)Python函式
- Python內建函式(二)Python函式
- 1.5.5 Python內建函式Python函式
- Python 內建函式大全Python函式
- python 常用內建函式Python函式
- Python內建函式示例Python函式
- python內建函式——sortedPython函式
- Python 兩個內建函式: locals() 和 globals()Python函式
- Python5個內建高階函式的使用Python函式
- python內建函式-eval()函式與exec()函式的區別Python函式
- 幾個重要的內建函式函式
- python內建函式 map/reducePython函式
- python合集———內建函式合集Python函式
- 12.4、python內建函式—sortedPython函式
- 12.2、python內建函式—formatPython函式ORM
- python高階內建函式Python函式
- python常見內建函式Python函式
- 8個最常用的內建函式,Python小白必備!函式Python
- Python中冷門但非常好用的內建函式Python函式
- Python 官方文件解讀(1):66 個內建函式Python函式
- Python中,類的特殊方法與內建函式的關聯Python函式
- c++中內建函式C++函式
- Python中常用的內建函式input()、isinstance()Python函式
- 【必看】Python五個神仙級函式,一定要知道!Python函式
- 內建函式sorted的10個小tips函式
- 內建函式函式
- python 內建函式簡單總結Python函式
- (十六)Python學習之內建函式Python函式
- Python分享之內建函式清單Python函式
- Python內建函式大全,快來看看!!Python函式
- Python 字串 String 內建函式大全(1)Python字串函式
- Python 字串 String 內建函式大全(2)Python字串函式
- python-內建函式(搭配lambda使用)Python函式
- Python有哪些比較重要的內建函式?Python函式