目錄概念
舉例1、建立乙個匿名函式
2、傳遞多個引數
3、使用if...else..語法
在定義函式的時候,不想給函式起乙個名字。這個時候就可以用lambda來定義乙個匿名函式
語法:
變數名= lambda 引數:表示式(block)
引數:可選,通常以逗號分隔的變數表示式形式,也就是位置引數
表示式:不能包含迴圈、return,可以包含if...else...
注意:
1.表示式中不能包含 迴圈,return
2.可以包含 if...else...語句.
3.表示式計算的結果直接返回
輸出為:# 變數名= lambda 引數:表示式(block)
func = lambda: 1 == 2
ret = func()
print(ret)
如果使用函式則是:
def func():
return 1 == 2
ret = func()
print(ret)
輸出為:func = lambda x, y, z: x + y + z
ret = func(1, 2, 3)
print(ret)
如果使用函式則是:
def func(x, y, z):
return x + y + z
ret = func(1, 2, 3)
print(ret)
輸出為:func = lambda x, y: x if x > y else y
ret = func(2, 6)
print(ret)
如果使用函式則是:
def func(x, y):
if x > y:
return x
else:
return y
ret = func(2, 6)
print(ret)
輸出為:func = lambda x, y: x + y
ret = func(1, 2)
print(ret)
使用函式:
def func(x, y):
return x + y
ret = func(1, 2)
print(ret)
輸出為:dic =
ret = max(dic, key=lambda x: dic[x])
print(ret)
使用函式:
dic =
def func(key):
return dic[key]
ret = max(dic, key=func)
print(ret)
輸出為:students = [,,
]ret = max(students, key=lambda x: x['age'])
print(ret)
使用函式:
4.現有兩個元組(('a'),('b')),(('c'),('d')),請使用python中匿名函式生成列表[,]students = [,,
]def return_name(dic):
return dic['name']
ret = max(students, key=return_name)
print(ret)
輸出為:a = (('a'), ('b'))
b = (('c'), ('d'))
ret = list(map(lambda x: , zip(a, b)))
print(ret)
使用函式:
a = (('a'), ('b'))
b = (('c'), ('d'))
def be_dict(t1, t2):
ret = zip(t1, t2)
def re_t(x):
return
ret2 = list(map(re_t, ret))
return ret2
ret = be_dict(a, b)
print(ret)
python中的匿名函式
匿名函式的定義 在python語言中除了def語句用來定義函式之外,還可以使用匿名函式lambda,它是python一種生成函式物件的表示式形式。匿名函式通常是建立了可以被呼叫的函式,它返回了函式,而並沒有將這個函式命名,普通函式需要去依靠函式名去呼叫而匿名函式沒有,所以需要把這個函式物件複製給某個...
python中的匿名函式
匿名函式 如果使用lambda 匿名 函式,map 函式和reduce 函式還能進一步簡化.lambda函式能實現普通一樣的功能,能傳入引數,也能返回運算結果 不同的是lambda函式沒有函式名,通常只有一行的表示式,函式的複雜程度也有限.匿名函式的關鍵字為 lambda 冒號前面是形參 冒號後面是...
python中的匿名函式
在python語言中除了def語句用來定義函式之外,還可以使用匿名函式lambda,它是python一種生成函式物件的表示式形式。匿名函式通常是建立了可以被呼叫的函式,它返回了函式,而並沒有將這個函式命名。普通函式需要去依靠函式名去呼叫,而匿名函式沒有,所以需要把這個函式物件複製給某個變數進行呼叫 ...