程式語言中函式的應用:
**塊重複--降低**的冗餘
**塊複雜--提高程式可讀性
python中由兩種函式:1、def定義的函式 2、lambda函式
python支援所謂的 匿名 或者 lambda 函式。
匿名函式是一種通過單個語句生成函式的方式,其結果是返回值。匿名函式使用lambda關鍵字定義,該關鍵字僅表達「我們宣告乙個匿名函式」的意思。
例如:求兩個數字的和,普通函式或匿名函式如下:
def func(x+y): return x+y
lambda x,y: x+y
含義:冒號前,x,y是 形參 冒號後,x+y是 返回值
例1:reduce()函式
計算1-9的和:
from functools import reduce
def add(x,y):
return x+y
print(reduce(add,range(10)))
用匿名函式表示出:
print(reduce(lambda x,y:x+y,range(10)))
例2:map()函式
計算1-4的平方並且以列表的形式返回:
def mypow(x):
return x **2
print(list(map(lambda x:x**2,range(5))))
#在這裡用了lambda匿名函式
例3:filter()函式
找出99以內的偶數
print(list(filter(lambda x:x%2==0,range(100))))
12 匿名函式
類似於 add lambda x,y x y print add 1,2 輸出 3dic deffunc key return dic key print max dic,key func 根據返回值判斷最大值,返回值最大的那個引數是結果 print max dic,key lambda key d...
python基礎 匿名函式
lambda匿名函式可以實現簡單的功能 sum lambda x,y x y print sum 4,2 結果為6def values a,b,fun print fun a,b values 11,22,lambda x,y x y 結果為33大資料要用到的三個重要函式 filter函式 filt...
Python基礎 匿名函式
當我們在傳入函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x 的函式外,還可以直接傳入匿名函式 print list map lambda x x x,1,2,3,4,5,6,7,8,9 輸出 1,4,9,...