今天學習python裡面的高階函式map(f , list)的時候看見這樣一行**
print map( lambda x: x%3, range(6))
我已經知道:map函式的首個引數是乙個函式,後面的乙個或者多個list or tuple作為第乙個引數(也就是那個函式)的引數,以map的方式遍歷執行,並返回乙個list or tuple.
然而lambada又是什麼?
我好奇的查了一下資料,原來lambda是乙個匿名函式,用來簡化內容簡單的函式的宣告,比如:
1g = lambda x:x+1
看一下執行的結果:
g(1)
>>>2
g(2)
>>>3
當然,你也可以這樣使用:
lambda x:x+1(1)
>>>2
可以這樣認為:lambda作為乙個表示式,定義了乙個匿名函式,上例的**x為入口引數,x+1為函式返回值,用函式來表示為:
1def 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...