lambda是乙個匿名函式,在定義函式的時候,不想給函式起乙個名字時可以使用匿名函式,用乙個變數儲存結果即可。通常這個
匿名函式是不會被重複使用的
語法:lambda 引數:表示式
注:不能有迴圈和return
demo1定義乙個匿名函式
# 定義乙個匿名函式實現加法計算
sum_res = lambda x,y:x+y
# 呼叫函式,傳入引數x=10,y=20
print("結果顯示:",sum_res(10,20)) # 結果顯示: 30
demo2匿名函式有預設引數
# 定義乙個含有預設值的匿名函式實現加法計算
sum_res = lambda x,y=100:x+y
# 呼叫函式,傳入引數x=10,y不傳預設為100
print("結果顯示:",sum_res(10)) # 結果顯示: 110、
demo3匿名函式有元組引數組
# 定義乙個匿名函式實現返回不定數的字串返回
str_res = lambda *args:args
# 呼叫函式,傳入引數
print("結果顯示:",str_res("suner")) # 返回的是元組('suner',)
print("結果顯示:",str_res("suner","wang")) # 返回的是元組('suner', 'wang')
demo4匿名函式有字典引數組
# 定義乙個匿名函式實現不定數的字典返回
info_res = lambda **kwargs:kwargs
# 呼叫函式,傳入不定數引數
print("結果顯示:",info_res(name="suner")) # 返回的是字典:
print("結果顯示:",info_res(name="suner",age=18)) # 返回的是字典:
demo5匿名函式作為引數傳入
# lambda函式作為引數傳入
def sum_func(x,y,func):
res = func(x,y)
return res
# 呼叫函式
print(sum_func(50,30,lambda x,y:x+y))
demo6匿名函式結合map()
# 判斷傳入的字串列表是否全部為大寫
res = map(lambda str_:str_.isupper(),["suner","wjk","wjk","sun"])
print(list(res)) # 需要list轉成列表顯示結果:[false, false, true, true]
demo6匿名函式結合reduce()
from functools import reduce
res = reduce(lambda x,y:x+y,[10,20,30,40,50])
print(res) # 結果顯示:150
demo6匿名函式結合filter()
# 判斷傳入的字串列表是否全部為大寫,返回正確的結果
res = filter(lambda str_:str_.isupper(),["suner","wjk","wjk","sun"])
print(list(res)) # 需要list轉成列表顯示結果:['wjk', 'sun']
demo7匿名函式結合sorted()
# 對乙個字典列表按年齡公升序排列
info_list = [,,]
info_list.sort(key=lambda x:x["age"])
print(info_list) # [, , ]
python基礎 匿名函式
lambda匿名函式可以實現簡單的功能 sum lambda x,y x y print sum 4,2 結果為6def values a,b,fun print fun a,b values 11,22,lambda x,y x y 結果為33大資料要用到的三個重要函式 filter函式 filt...
Python基礎 匿名函式
當我們在傳入函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x 的函式外,還可以直接傳入匿名函式 print list map lambda x x x,1,2,3,4,5,6,7,8,9 輸出 1,4,9,...
python基礎 匿名函式
匿名函式的關鍵字為 lambda 冒號前面是形參 冒號後面是返回值 def fun args,kwargs return args,kwargs print fun 1,2,3,4,5 上面三行可以用下面以行代替 print lambda args,kwargs args,kwargs def ad...