一、語法
作用:簡化函式代碼
格式:lambda 引數串列 :運算式
P.s:
- lambda運算式引數可有可無,引數寫法同函式
- lambda函式能接收任何數量的引數但只能回傳一個運算式的值
def func0(): return 100 func = lambda: 100 # lambda本質是一個匿名函式 print(func0) # <function func0 at 0x000001F7FE355160> print(func) # <function <lambda> at 0x000001E20BAD5160> print(func0()) # 100 print(func()) # 100
二、引數形式
# 無引數 f1=lambda:100 print(f1()) # 100 # 一個引數 f2=lambda a:a print(f2('Hello!')) # Hello! # 默認引數 f3=lambda a,b,c=300:a+b+c print(f3(100,200)) # 600
# 可變引數*args,回傳元組 f4=lambda *args:args print(f4(100,200,300)) # (100, 200, 300)
# 可變引數**kwargs,回傳字典 f5=lambda **kwargs:kwargs print(f5(name='Tom',age=10)) # {'name': 'Tom', 'age': 10}
三、應用
# 1、判斷 func1 = lambda a,b: a if a>b else b print(func1(2,3)) # 3 # 2、按照字典key排序 students = [ {'name':'Alice','age':18}, {'name':'Bill','age':20}, {'name':'Cindy','age':16} ] # 2.1、按照age升序排序 students.sort(key=lambda x:x['age']) print(students) # [{'name': 'Cindy', 'age': 16}, {'name': 'Alice', 'age': 18}, {'name': 'Bill', 'age': 20}] # 2.2、按照name降序排序 students.sort(key=lambda x:x['name'],reverse=True) print(students) # [{'name': 'Cindy', 'age': 16}, {'name': 'Bill', 'age': 20}, {'name': 'Alice', 'age': 18}]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/165066.html
標籤:Python
上一篇:python內置函式
下一篇:執行Python程式時模塊報錯
