python中的lambda函式

2021-07-31 10:26:20 字數 716 閱讀 8918

今天學習python裡面的高階函式map(f , list)的時候看見這樣一行**

print map( lambda x: x%3, range(6))

我已經知道:map函式的首個引數是乙個函式,後面的乙個或者多個list or tuple作為第乙個引數(也就是那個函式)的引數,以map的方式遍歷執行,並返回乙個list or tuple.

然而lambada又是什麼?

我好奇的查了一下資料,原來lambda是乙個匿名函式,用來簡化內容簡單的函式的宣告,比如:

1

g = lambda x:x+1

看一下執行的結果: 

g(1)

>>>2

g(2)

>>>3

當然,你也可以這樣使用:

lambda x:x+1(1)

>>>2   

可以這樣認為:lambda作為乙個表示式,定義了乙個匿名函式,上例的**x為入口引數,x+1為函式返回值,用函式來表示為:

1

def g(x):

2return x+1

非常容易理解,在這裡lambda簡化了函式定義的書寫形式。是**更為簡潔,但是使用函式的定義方式更為直觀,易理解。

python中,也有幾個定義好的全域性函式方便使用的,filter, map, reduce  

python的map函式和lambda函式

map函式的功能是根據提供的函式對指定序列做對映,就是對第二個引數的每乙個值執行第乙個引數所指定的函式 lambda是定義乙個匿名函式 crsusr rws1270149 python study cat mypy02.py usr bin python3.7 import sys,string,o...

Python中的defaultdict函式

用於產生乙個帶有預設值的dict。主要針對key不存在的情況下,也希望有返回值的情況。a dict a k1 1 a a k2 traceback most recent call last file line 1,in keyerror k2 對於普通的dict,key不存在就報錯。但是對於def...

python中ground truth的函式

機器學習包括有監督學習 supervised learning 無監督學習 unsupervised learning 和半監督學習 semi supervised learning 在 有監督學習中,資料是有標註的,以 x,t 的形式出現,其中x是輸入資料,t是標註.正確的t標註是ground t...