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函式擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數...