1、先來看一個函數(shù):
def sum(x,y):
return x+y
用lambda來實現(xiàn):
p = lambda x,y:x+y
print(p(1,2))
2、傳入一個參數(shù)的lambda函數(shù)
a=lambda x:x*x
print(a(2)) # 注意:這里直接a(2)可以執(zhí)行,但沒有輸出的,因為沒有print
3、多個參數(shù)的lambda形式:
a = lambda x,y,z:x*y*z
print(a(5,6,7))
匿名函數(shù)lambda:是指一類無需定義標識符(函數(shù)名)的函數(shù)或子程序。
lambda 函數(shù)可以接收任意多個參數(shù) (包括可選參數(shù)) 并且返回單個表達式的值。
要點:
1,lambda 函數(shù)不能包含命令,
2,包含的表達式不能超過一個。
說明:一定非要使用lambda函數(shù);任何能夠使用它們的地方,都可以定義一個單獨的普通函數(shù)來進行替換。我將它們用在需要封裝特殊的、非重用代碼上,避免令我的代碼充斥著大量單行函數(shù)。
lambda匿名函數(shù)的格式:冒號前是參數(shù),可以有多個,用逗號隔開,冒號右邊的為表達式。其實lambda返回值是一個函數(shù)的地址,也就是函數(shù)對象。
a=lambda x:x*x
print(a)
print(a(2))
輸出:
at 0x000002308ABE3E18>
27
使用lambda幫助排序:
student_tuples = [
('john', 'A', 15),
('jane', 'B', 12),
('dave', 'B', 10),
]
result = sorted(student_tuples, key=lambda student: student[2])
print(result)
輸出:
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
