close

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

 

不過語法長度好像差不多,我可能還是會繼續用習慣的方式。

arrow
arrow
    創作者介紹
    創作者 mina 的頭像
    mina

    mina

    mina 發表在 痞客邦 留言(0) 人氣()