Python的高階程式設計map的使用

2021-10-09 17:02:58 字數 1371 閱讀 8128

class

map(func,

*iterables)

傳入引數x1
def

sum(a)

:return a+a

if __name__ ==

'__main__'

: ls1 =[1

,2,4

] r =

map(

sum, ls1)

print

(tuple

(r))

執行結果:

(2, 4, 8)

傳入引數x1,x2

def

sum(a,b)

:return a+b

if __name__ ==

'__main__'

:

ls1 =[1

,2,4

] ls2 =[1

,2,3

] r =

map(

sum,ls1,ls2)

print

(tuple

(r))

執行結果:

(2, 4, 7)

如果要傳入2個list,ls1,ls2的長度必須相等 如果不相等,結果的長度是最短的list的長度。

要實現整數和陣列的運算 使用numpy包
import numpy as np

defsum

(a,b)

:return a+b

if __name__ ==

'__main__'

:

l = np.array([1

,2,3

])ll =

sum(

1,l)

print

(ll)

執行結果:

[2 3 4]

import numpy as np

defmyfun

(a,b)

:if a>b:

return a+b

else

:return a-b

if __name__ ==

'__main__'

:

vfunc = np.vectorize(myfun)

l =[1

,2,3

,4] out = vfunc(l,2)

print

(type

(out)

)print

(out)

執行結果

[-1 0 5 6]

Python高階函式 map

map 函式原型 map 函式,序列 用法 map將傳入的函式依次作用到序列的每個元素,並把結果作為新的序列返回。eg 1 使用map實現f x x x,x是list 1,2,3,4 def f x return x x.r map f,1 2,3 4 list r 1,4,9,16 2 把list...

python中的內建高階函式map

map 接收兩個引數 乙個是函式 乙個是序列 map將傳入的函式依次作用到序列的每個元素 並且把結果作為新的序列返回 示例1 對乙個序列 1,3,4,5 的每乙個元素求絕對值 import random print list map abs,1,3 4,5 輸出結果 1,3,4,5 示例2 對序列的...

python 的map和reduce(高階函式)

map 函式接受兩個引數,乙個是函式 f 乙個是可迭代物件iterable map將傳入的函式依次作用到序列的每個元素,並把結果作為新的迭代器iterator 返回 例如 def f x return x x r map f,1,2,3,4,5 r 是乙個迭代器 list r 將r變成list 注意...