python中的匿名函式

2021-09-10 06:00:25 字數 2458 閱讀 8151

目錄概念

舉例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)

輸出為:

使用函式:

students = [,,

]def return_name(dic):

return dic['name']

ret = max(students, key=return_name)

print(ret)

4.現有兩個元組(('a'),('b')),(('c'),('d')),請使用python中匿名函式生成列表[,]

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一種生成函式物件的表示式形式。匿名函式通常是建立了可以被呼叫的函式,它返回了函式,而並沒有將這個函式命名。普通函式需要去依靠函式名去呼叫,而匿名函式沒有,所以需要把這個函式物件複製給某個變數進行呼叫 ...