Python基礎之Lambda表示式

2021-09-02 17:52:38 字數 1620 閱讀 6753

lambda表示式常常用來宣告匿名函式。lambda表示式只可包含乙個表示式,但在表示式中可以呼叫其他函式,該表示式的計算結果相當於函式的返回值。下面**演示lambda表示式的應用。

f = lambda x, y, z: x+y+z

print(f(1,2,3))

# 6g = lambda x, y=2, z=3: x+y+z

print(g(1))

# 6print(g(2, z=4, y=5))

# 11

l = [(lambda x: x**2),(lambda x: x**3),(lambda x: x**4)]

print(l[0](2), l[1](2), l[2](2))

# 4 8 16

d =

print(d['f1'](), d['f2'](), d['f3']())

# 5 6 8

l = [1, 2, 3, 4, 5]

print(map((lambda x: x+10), l)) #沒有名字的lambda表示式,作為函式引數

# [11, 12, 13, 14, 15]

l# [1, 2, 3, 4, 5]

在lambda表示式中呼叫函式:

>>>def demo(n):

>>>return n * n

>>>demo(5)

25>>>a_list = [1, 2, 3, 4, 5]

>>>map(lambda x: demo(x), a_list) #在lambda表示式中呼叫函式

[1, 4, 9, 16, 25]

>>>data = list(range(20))

>>>print(data)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

>>>import random

>>>random.shuffle(data)

>>>data

[19, 4, 18, 12, 5, 15, 0, 17, 7, 13, 2, 10, 8, 6, 3, 9, 1, 16, 11, 14]

>>>data.sort(key=lambda x: x) #用在列表的sort()方法中,作為函式引數

>>>data

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

>>>data.sort(key=lambda x: len(str(x))) #使用lambda指定排序規則

>>>data

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

>>>data.sort(key=lambda x: len(str(x)), reverse=true)

>>>data

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Python基礎語法之 Lambda

表示式及定義 lambda arg1 arg2,arg3,argn expression python核心程式設計 從 python核心程式設計 書本中包含了以上lambda表示式的表述。也就是說在lambda右側的式子中,冒號左邊的為引數值,右邊的為計算表示式。例項說明 1.單層引數求和 現在假設...

Python基礎學習篇 lambda

python lambda是在python中使用lambda來建立匿名函式,而用def建立的方法是有名稱的,除了從表面上的方法名不一樣外,python lambda還有哪些和def不一樣呢?1 python lambda會建立乙個函式物件,但不會把這個函式物件賦給乙個識別符號,而def則會把函式物件...

Python基礎 lambda與filter用法

1.lambda用法。python使用lambda來建立匿名函式。lambda只是乙個表示式,函式體比def簡單很多。lambda的主體是乙個表示式,而不是乙個 塊。僅僅能在lambda表示式中封裝有限的邏輯進去。lambda函式擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數...