python高階應用與資料分析學習筆記 041、匿名函式
# 函式的基本使用
deffunction1
(x,y):
return x+y
print(function1(10,20))
# 對乙個列表進行求平方,我們之前一般會這麼做
result =
for i in range(1,11):
print(result)
# 使用了匿名函式我們可以這麼做
print([i**2
for i in range(1,11)]) #與上面的效果是一樣的
# 新增判斷條件
print([i**2
for i in range(1,11) if i % 2 == 0])
# 將二維列表轉換成一維列表
2、lambda表示式
2.1、lambda表示式的形式
# lambda 表示式
lambda1 = lambda x: x**2
lambda2 = lambda x, y: x+y
lambda3 = lambda x: x % 2 == 0
2.2、map函式與lambda的結合使用# lambda 表示式
lambda1 = lambda x: x**2
lambda2 = lambda x, y: x+y
lambda3 = lambda x: x %2 ==0
# pythohn中與lambda經常結合使用的函式有map、reduce、filter
# map的使用
2.3、reduce函式與lambda的結合使用
# reduce的使用
from functools import reduce
# lambda 表示式
lambda1 = lambda x: x**2
lambda2 = lambda x, y: x+y
lambda3 = lambda x: x % 2 == 0
# print(reduce(lambda1,range(10))) #要求表示式是乙個2元函式,如果是一元函式的話,就會報錯:() takes 1 positional argument but 2 were given
print(reduce(lambda2,range(10))) #45
2.4、filter函式與lambda的結合使用# lambda 表示式
lambda1 = lambda x: x**2
lambda2 = lambda x, y: x+y
lambda3 = lambda x: x % 2 == 0
# filter的使用
print(list(filter(lambda1,range(10)))) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(filter(lambda2,range(10),range(6)))) #typeerror: filter expected 2 arguments, got 3
print(list(filter(lambda2,range(10)))) #typeerror: () missing 1 required positional argument: 'y'
print(list(filter(lambda3,range(10))))
2.5、綜合練習
練習:求6!+5!+4!+3!+2!+1!的和
# 練習:求6!+5!+4!+3!+2!+1!的和
# 要求:使用lambda、map、reduce、fitter
from functools import reduce
# 第一步:求6!= 6*5*4*3*2*1的和
lambda_1 = lambda x, y: x*y
print(reduce(lambda_1,range(1,7)))
# 第二步:求每個階乘的組成的列表
lambda_2 = lambda a: reduce(lambda_1,range(1,a+1))
print(list(map(lambda_2,range(1,7))))
# 第三步:求列表的和
Python3學習筆記09 匿名函式lamdba
關鍵字lambda表示匿名函式,冒號前面,面的x表示函式引數。匿名函式有個限制,就是只能由乙個表示式,不用寫return,返回值就是該表示式的結果。匿名函式有個好處,因為函式沒有名字,不必擔心函式名稱衝突。此外,匿名函式也是乙個函式物件,也可以把匿名函式賦值給乙個變數,再利用變數來呼叫該函式 f l...
python中匿名函式
高階函式可以接收函式做引數,有些時候,我們不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算 f x x2 時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 map lambda x x x,1,2,3,4,5,6,7,8,...
python中匿名函式
高階函式可以接收函式做引數,有些時候,我們不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算 f x x2 時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 map lambda x x x,1,2,3,4,5,6,7,8,...