給程序來點美感--Python3中的Map和Reduce

Map & Reduce.jpg

一、Map

讓我們先來一個問題,如何將a=[1,2,3,5,6]這個數(shù)組,轉(zhuǎn)換成字符型的數(shù)組?

1.1 解法1

a=[1,2,3,5,6]
b=[str(i) for i in a]
print(b)
['1', '2', '3', '5', '6']

1.2 解法2

a=[1,2,3,5,6]
b=list(map(str,a))
print(b)
['1', '2', '3', '5', '6']

兩種方法似乎都很好的解決了這個問題,那么Map比列表解析強在哪里呢?

list(map(lambda x,y:x*y,[1,2,3],[4,5,6]))
[4, 10, 18]

Map能接收多個Iterable,而列表解析一般只接受一個數(shù)組。
這是我自己找的栗子,如果有不對的地方,歡迎留言打臉啊

歡迎反復(fù)打臉.jpg

1.3 函數(shù)用法

  • map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是 Iterable,
  • map 將傳入的函數(shù)依次作用到序列的每個元素,并把結(jié)果作為新的Iterator 返回

二、Reduce

  • 對于Reduce的介紹,我覺得不需要進行介紹了,因為Reduce已經(jīng)不在Python3 的標準庫里了
    • 原因居然是:

因為 Guido 先生討厭 reduce。(Because Guido [hates it]
(http://www.artima.com/weblogs/viewpost.jsp?thread=98196)

Reduce就被干掉了.png

秉承寧缺毋濫的精神,就暫且介紹這么多吧。
如果喜歡就給我點個贊唄,你的喜歡是我繼續(xù)分享的動力

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容