內建函式map()把乙個函式func依次對映到序列或迭代器物件的每個元素上,並返回乙個可迭代的map物件作為結果,map物件中
每個元素是原序列經過函式func處理後的結果,map()函式不對原序列或迭代器做任何修改
語法:
map
(function, iterable,..
.)
練習:
1. 把列表中的元素轉為字串,觀察map物件本質
map_one =
map(
str,
range(10
))#構建map物件
print
(map_one)
#返回的是乙個map物件,是可迭代。屬於可變型別
print
(type
(map_one)
)
輸出:<
class
'map'
>
for i in map_one:
print
(i, end=
' ')
輸出:01
2345
6789
2. 單引數函式對映到乙個序列的所有元素上def
addone
(x):
return x +
2
lst_one =
list
(map
(addone,
range(5
)))#range(5)中的每個元素都執行了adddemo方法,返回的結果中每個元素都加2
print
(lst_one)
輸出:[2
,3,4
,5,6
]
3. 多引數對映到多個序列上def
addmore
(x, y)
:return x + y
lst_two =
list
(map
(addmore,
range(5
),range(5
)))#兩個序列的每個元素按照順序一一相加。
print
(lst_two)
輸出:[0
,2,4
,6,8
]
如果兩個序列的大小不一致會發生什麼?如果能正常執行func,那麼返回結果是怎樣的?
答:不一致是能正常執行的,以最小的序列為基準。如:
lst_three =
list
(map
(addmore,
range(3
),range(8
)))print
(lst_three)
#以range(3)為基準,只進行了三個元素相加,其餘的都捨掉了
輸出:[0
,2,4
]
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...