天天看點

29、filter、map、reduce的作用?

通俗的說..都是用在一堆資料(比如一個清單)上..

map是用同樣方法把所有資料都改成别的..字面意思是映射..比如把清單的每個數都換成其平方..

reduce是用某種方法依次把所有資料丢進去最後得到一個結果..字面意思是化簡..比如計算一個清單所有數的和的過程,就是維持一個部分和然後依次把每個數加進去..

filter是篩選出其中滿足某個條件的那些資料..字面意思是過濾..比如挑出清單中所有奇數..

>>> map(lambda x:x*x,[0,1,2,3,4,5,6])
[0, 1, 4, 9, 16, 25, 36]
>>> reduce(lambda x,y:x+y,[0,1,2,3,4,5,6])
21
>>> filter(lambda x:x&1,[0,1,2,3,4,5,6])
[1, 3, 5]