1、map()內建函式有兩個引數,為乙個函式和乙個可迭代物件,將可迭代物件的每乙個元素作為函式的引數進行運算加工,直到可迭代物件的每乙個元素都計算完畢。
>>>def a(x): ## 定義函式a()return
3 *x
>>> a(5)15
>>> temp = map(a,range(10
)) ## map()一共兩個引數,函式a()和可迭代物件range(10)
>>>list(temp)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27
]>>> temp2 = map(a,[3,8,2,30
]) ## map()一共兩個引數,函式a()和可迭代物件列表
>>>list(temp2)
[9, 24, 6, 90]
2、map()內建函式與lambda關鍵字結合
>>> temp = map(lambda x : x * 5, range(10)) ## 使用lambda定義函式,可迭代物件range(10)
>>>list(temp)
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45
]>>> list(map(lambda x : x / 2, range(10
)))[
0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5]
3、map()的第二個引數是收集引數,支援多個可迭代物件。map()會從所有可迭代物件中依次取乙個元素組成乙個元組,然後將元組傳遞給func。如果可迭代物件的長度不一致,則以較短的迭代結束為止。
>>>def a(x,y):return x *y
>>> a(4,8)32
>>> temp = map(a,[4,8,6],[8,3,7
])>>>list(temp)
[32, 24, 42]
>>>def a(x,y):return x *y
>>> temp = map(a,[3,5,2,7,8],[6,8,9
])>>>list(temp)
[18, 40, 18]
與lambda結合:
>>> temp = map(lambda x,y,z : x * y * z, [3,2,5,7],[2,4,7,9],[8,7,3,1])>>>list(temp)
[48, 56, 105, 63]
python 內建函式map
map 函式 map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。下圖可以說明 對應下面的 def f x return x x print map f,1,2,3,4,5,6,7,8,...
python 內建函式map
map 函式 map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。下圖可以說明 對應下面的 def f x return x x print map f,1,2,3,4,5,6,7,8,...
Python內建函式map
map 是 python 內建的高階函式,它接收乙個函式 func 和乙個 list,並通過把函式 func依次作用在 list 的每個元素上,得到乙個新的 list 並返回。當list只有乙個時,將函式func作用於這個list的每個元素上,並返回乙個map物件。def func x return...