1. map 函數形式 : map(function, sequence)
原本同樣的事情需要用到像迴圈的語法
nums= [1,-2]
ans = [abs(x) for x in nums]
print(ans)
#[1, 2]
如果要套用map
nums= [1,-2]
ans = map(abs,nums)
print(list(ans))
2. filter 函數形式 : filter(function, sequnce)
原本同樣的事情需要用到像迴圈的語法
nums = [1, 2, 3, 4]
even_num = [x for x in nums if x % 2 == 0]
print(even_num)
#[2, 4]
如果要套用filter
even_num = list(filter(isEven, [1, 2, 3, 4]))
print(even_num)
3. reduce 函數形式 : reduce (function, sequnce) ->範例:用於求積
#reduce(f, [x1, x2, x3]) 代表的值為
#f(f(x1, x2), x3)
from functools import reduce
def prod(x,y):
return x*y
print(reduce(prod, [4,5,6]))
#120 <- 4x5x6
4. lambda 參數: 返回值
aa = lambda x: x*x相當於你定義了這樣的一個函數:
def aa(x):
return x*x
不過語法長度好像差不多,我可能還是會繼續用習慣的方式。
留言列表