本博客所有文章采用的授權(quán)方式為 自由轉(zhuǎn)載-非商用-非衍生-保持署名 瞬逊,轉(zhuǎn)載請務(wù)必注明出處,謝謝补胚。
聲明:
本博客歡迎轉(zhuǎn)發(fā),但請注明出處码耐,保留原作者信息
博客地址:孟阿龍的博客
所有內(nèi)容為本人學(xué)習(xí)、研究溶其、總結(jié)骚腥。如有雷同,實(shí)屬榮幸
最近解決兩個(gè)小問題的時(shí)候用到了python的map和reduce函數(shù)瓶逃,簡單用法做個(gè)記錄:
一. map 函數(shù)
語法:map(function, iterable,...)
用法:
對列表中的每一個(gè)元素應(yīng)用function函數(shù)束铭,并返回對應(yīng)新的列表
參數(shù):
function -- 函數(shù)的引用
iterable -- 一個(gè)或者多個(gè)序列
返回值:
一個(gè)新的列表
實(shí)例:
- 對一個(gè)列表的所有元素計(jì)算平方
def sequare(x):
return x*x
print map(sequare, [1,2,3])
結(jié)果為:
[1, 4, 9]
- 將一個(gè)數(shù)值列表的每個(gè)元素轉(zhuǎn)換為字符串之后用'#'連接
print "#".join(map(str, [1,2,3]))
結(jié)果為:
1#2#3
- 將兩個(gè)列表對位的元素相加,并返回新列表
def add_list(x, y):
return x + y
print map(add, [1,2,3], [4,5,6])
結(jié)果為:
[5, 7, 9]
二. reduce 函數(shù)
語法:reduce(function, iterable[, initializer])
用法:
對列表中的所有元素執(zhí)行function的進(jìn)行累積計(jì)算厢绝,返回最終計(jì)算結(jié)果
參數(shù):
function -- 函數(shù)的引用
iterable -- 列表或者可迭代對象
返回值:
最終的計(jì)算結(jié)果
實(shí)例
- 計(jì)算列表所有元素的和
普通方法可以通過for循環(huán)遍歷即可實(shí)現(xiàn)契沫,用reduce只需要簡單的一行
def add(x, y):
return x + y
print reduce(add, [1,2,3])
結(jié)果為:
6