python之 filter,map,reduce,以及lambda
1 #filter遍历序列中的每个元素,判断每个元素得到布尔值,如果是True则留下来 2 yin=['axiaoming','azhangwei','axiaojie','yaozong'] 3 a=filter(lambda x:x.startswith('a'),yin) 4 print(list(a)) 5 6 #处理序列中的每个元素,得到的结果是一个‘列表’,该‘列表’元素个数及位置与原来一样 7 yue=[3,4,1,6,7,8] 8 b=map(lambda x:x+1,yue) 9 print(list(b)) 10 11 #reduce:处理一个序列,然后把序列进行合并操作 12 from functools import reduce 13 xiang=[1,3,4,100] 14 print(reduce(lambda x,y:x+y,xiang)) 15 print(reduce(lambda x,y:x*y,xiang)) 16 print(reduce(lambda x,y:x*y,xiang,5))
运行结果:
['axiaoming', 'azhangwei', 'axiaojie']
[4, 5, 2, 7, 8, 9]
108
1200
6000