也叫 lambda 表示式
a.匿名函式的核心:一些簡單的需要用函式去解決的問題,匿名函式的函式體只有一行普通函式與匿名函式的對比:b.引數可以有多個,用逗號隔開
c.返回值和正常的函式一樣可以是任意的資料型別
d.匿名函式不支援複雜的邏輯判斷
e.一般跟其他函式搭配使用
#普通函式
defadd(a,b):
return a +b
print(add(2,3))
#匿名函式
add = lambda a,b : a + b #
相當與 return a+b
print add(2,3)
正確用法:
print((lambda a,b:a+b)(4,5))
li = list(range(10))比較數大小print(max(li, key=lambda x: li[li.index(x)]))
salaries=取誰的工資最大#普通函式
defget_value(k):
return
salaries[k]
#print(max(salaries,key=get_value))
#print(min(salaries,key=get_value))
#匿名函式
print(max(salaries,key=lambda x:salaries[x])) #
取誰的工資最大
#先 next salaries,得到 鍵名,定義匿名函式 key=lamdba x:salaries[x]
#lamdba x # x 是匿名函式需要的引數,由 salaries[x] 來提供,[x]裡的 x 是前面得到的 鍵名,得到鍵值,通過鍵值來進行排序後,返回鍵名
data = list(range(10))搭配map函式print(list(map(lambda x: x*x, data)))
str =['搭配filter函式a','
b','
c','d'
]def
fun(s):
if s != '
a': #
過濾條件,如果不等於,返回值
return
s ret = filter(fun,str) #
格式:filter(函式名,序列),遍歷序列
print(list(ret)) #
['b', 'c', 'd'] 顯示過濾結果,bcd 不等於 a
print(ret) #
即是過濾器物件,也是乙個迭代器物件
例2:name_l=[,,]
res=filter(lambda d:d['
age']>100,name_l)
print(res) #
返回 filter 物件
for i in res: #
遍歷物件
(i)*****
python之匿名函式
在某些傳入函式的時候,我們不需要顯式的定義函式,我們可以設定乙個匿名函式來白哦是 比如map函式中,引數為乙個函式以及乙個可迭代物件 我們可以這樣 r map lambda x x x,1,2,3,4,5,6,7,8,9 p list r print p 如上,我們在map中沒有使用已定義好的函式,...
Python之匿名函式
開篇小福利 我們都知道,找工作投簡歷時,假如你運氣好,會得到乙個內推碼,它雖然不能使你一定會被招上,但是卻可以避免你的簡歷被機器過濾掉。那麼,問題來了,你知道像這種內推碼一樣的玩意兒是怎麼生成的嗎?下面將使用乙個簡單的程式,隨機生成一千個類似於內推碼的東西。1.匿名函式 匿名函式的關鍵字為lambd...
Python之匿名函式
指一類無須定義識別符號的函式或子程式。python用lambda語法定義匿名函式,只需用表示式而無需申明。省略了用def宣告函式的標準步驟 語法 lambda 形參 返回值 lambda函式能接收任何數量的引數但只能返回乙個表示式的值 lambda 形參 返回值 sum lambda arg1,ar...