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

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