1. 程式人生 > >Python的map和reduce

Python的map和reduce

too reduce rom from brush () 下一個 list 生成式

map():

map()函數接收兩個參數,一個是函數,一個是Iterable

>>> l = [i for i in range(10)]   #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(map(str, l))
[‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘]

先用列表生成式生成列表,

str為轉換為字符串的函數,

map函數則把列表的每個元素都應用str函數

reduce():

>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> from functools import reduce
>>> def foo(x,y):
	return x - y

>>> reduce(foo,l)
-45

這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素做累積計算

Python的map和reduce