lambda 与 python 高级函数的配套使用
filter函数 过滤
1 __author__ = "Tang" 2 3 # filter(lambda, []) 4 people = ['tanglaoer','chenlaosan_sb','linlaosi_sb','wanglaowu'] 5 res = filter(lambda n:not n.endswith('_sb'),people) 6 print(list(res)) # ['tanglaoer', 'wanglaowu'] 7 8 # filter(lambda,()) 9 people = ('tanglaoer','chenlaosan_sb','linlaosi_sb','wanglaowu',) 10 res = filter(lambda n:not n.endswith('_sb'),people) 11 print(tuple(res)) # ('tanglaoer', 'wanglaowu')
map函数 遍历操作
1 # map(lambda,str) 2 msg = 'tanglaoer' 3 print(list(map(lambda x:x.upper(),msg))) #['T', 'A', 'N', 'G', 'L', 'A', 'O', 'E', 'R'] 4 5 # map(lambda,[]) 6 msg = ['tanglaoer','chenlaosan_sb','linlaosi_sb','wanglaowu'] 7 print(list(map(lambda x:x.upper(),msg))) #['TANGLAOER', 'CHENLAOSAN_SB', 'LINLAOSI_SB', 'WANGLAOWU'] 8 9 # map(lambda,()) 10 msg = ('tanglaoer','chenlaosan_sb','linlaosi_sb','wanglaowu',) 11 print(tuple(map(lambda x:x.upper(),msg))) #('TANGLAOER', 'CHENLAOSAN_SB', 'LINLAOSI_SB', 'WANGLAOWU')
reduce函数 lambda接受两个参数
1 # reduce(lambda,[]) 2 from functools import reduce 3 num_list = [1,2,3,100] 4 print(reduce(lambda x,y:x+y,num_list)) #106 5 6 #reduce(lambda,()) 7 num_list = (1,2,3,100,) 8 print(reduce(lambda x,y:x+y,num_list)) #106