匿名函式:
高階函式
滿足倆個特性任意乙個即為高階函式
1.函式的傳入引數是乙個函式名
2.函式的返回值是乙個函式名
map:
num_l=[1,2,10,5,3,7]#lambda x:x+1
def add_one(x):
return x+1
#lambda x:x-1
def reduce_one(x):
return x-1
def map_test(func,array):
ret =
for i in num_l:
res = func(i)
return ret
print(map_test(add_one,num_l)) #[2, 3, 11, 6, 4, 8]
print(map_test(lambda x:x+1,num_l)) #[2, 3, 11, 6, 4, 8]
num_l=[1,2,10,5,3,7]filter:res=map(lambda x:x+1,num_l) #[2, 3, 11, 6, 4, 8]
msg='linhaifeng'
print(list(map(lambda x:x.upper(),msg))) # ['l', 'i', 'n', 'h', 'a', 'i', 'f', 'e', 'n', 'g']
movie_people=['sb_alex','sb_wupeiqi','linhaifeng','sb_yuanhao']def filter_test(array):
ret=
for p in array:
if not p.startswith('sb'):
return ret
res=filter_test(movie_people)
print(res) #['linhaifeng']
movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']def sb_show(n):
return n.endswith('sb')
def filter_test(func,array):
ret=
for p in array:
if not func(p):
return ret
res=filter_test(sb_show,movie_people)
print(res) #['linhaifeng']
#終極版本movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']
def sb_show(n):
return n.endswith('sb')
#--->lambda n:n.endswith('sb')
def filter_test(func,array):
ret=
for p in array:
if not func(p):
return ret
res=filter_test(lambda n:n.endswith('sb'),movie_people)
print(res) #['linhaifeng']
#filter函式movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']
print(filter(lambda n:not n.endswith('sb'),movie_people)) #
movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']reduce:res=filter(lambda n:not n.endswith('sb'),movie_people)
print(list(res)) #['linhaifeng']
print(list(filter(lambda n:not n.endswith('sb'),movie_people))) # ['linhaifeng']
num_l=[1,2,3,100]def reduce_test(func,array,init=none):
if init is none:
res=array.pop(0)
else:
res=init
for num in array:
res=func(res,num)
return res
print(reduce_test(lambda x,y:x*y,num_l,100)) #60000
#reduce函式
from functools import reduce
num_l=[1,2,3,100]
print(reduce(lambda x,y:x+y,num_l,1)) #107
print(reduce(lambda x,y:x+y,num_l)) #106
#print(reduce(function,sequence,initial)) #函式,序列,初始值
day16 匿名函式
匿名函式 函式名 lambda 引數1,引數2,返回值 注意 匿名函式不允許換行 匿名函式返回值和正常函式一樣可以是任意資料型別 def add x,y return x y add lambda x,y x y print add 3,6 dic def func num return dic n...
實習日記 Day16
今日份新想法 今天不在公司寫實習日記啦,在回學校的路上寫 今日地鐵 思 今天中午飯後,帶著我去了公司 附近的公園遛彎兒。一路走得飛快,興致勃勃。跟他的健步比起來,我一點都沒有年輕人該有的朝氣與活力 這才上班半個月,我現在週末的狀態就完全不比往日,變得昏昏欲睡,萎靡不振。在辦公室久坐,的確是不行啊。今...
每日演算法 day 16
那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.2.28 思路 素數篩選 dfs 組合型列舉 有個很重要的一點就是確保你的dfs在...