lambda只是一個表達式,不需要定義函數,故也是匿名函數,用法為:lambda 參數:表達式。 測試結果: map函數,它接收一個函數和若幹個序列,返回新的序列,用法為map(function,iterable1,iterable2,...),function為函數表達式,這樣就可以跟lambda ...
lambda只是一個表達式,不需要定義函數,故也是匿名函數,用法為:lambda 參數:表達式。
x=5 list1=[2,3,4] list2=[10,20,30] s=lambda x:x**3 g=lambda x,y:x+y print(s(x)) print(g(list1,list2))
測試結果:
E:\Anaconda3\python.exe E:/python知識.py 125 [2, 3, 4, 10, 20, 30] 進程已結束,退出代碼 0
map函數,它接收一個函數和若幹個序列,返回新的序列,用法為map(function,iterable1,iterable2,...),function為函數表達式,這樣就可以跟lambda表達式完美結合。
list1=[2,3,4] list2=[10,20,30] #用lambda表達式 print(map(lambda x,y:x+y,list1,list2))#返回的是map對象,需要用list轉換 print(list(map(lambda x,y:x+y,list1,list2)))#list轉換結果 #定義函數 def func(x,y): return x+y print(list(map(func,list1,list2)))
測試結果:
E:\Anaconda3\python.exe E:/python知識.py <map object at 0x0000000003E2DCC0> [12, 23, 34] [12, 23, 34] 進程已結束,退出代碼 0