python中map函數和reduce函數的使用方法介紹(附程式碼)

不言
發布: 2018-09-28 15:02:40
轉載
3530 人瀏覽過

這篇文章帶給大家的內容是關於python中map函數和reduce函數的使用方法介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

map()函數

Python中的map()函數接收兩個參數,一個是呼叫函數物件(python中處處皆對象,函數未實例前也可以當物件一樣調用),另一個是呼叫函數所需的參數,回傳值是迭代計算出的結果所組成的列表。

 def func(x):
     return x*x
 r=map(func,[1,2,3,4,5,6,7,8,9])
 l=list(r)
 print(l)
登入後複製

顯示結果:

 [1, 4, 9, 16, 25, 36, 49, 64, 81]
登入後複製

reduce() 函數

reduce函數同樣需要兩個參數,一個是調用函數對象,另一個數調用函數所需的參數,其返回值是將計算結果繼續和下一個元素做累積。

from functools import reduce
def add(x,y):
    print('x is:',x,'y is:',y)
    return x+y
ret=reduce(add,[1,3,5,7,9])
print(ret)
登入後複製

顯示結果:

#
x is: 1 y is: 3
x is: 4 y is: 5
x is: 9 y is: 7
x is: 16 y is: 9
25
登入後複製

或許可能會問,python的內建函數sum()就可以得到想要的結果,為什麼要有reduce呢。看如下案例,我們想要將[1,3,5,7,9]回傳成13579

#
from functools import reduce
def add(x,y):
    print('x is:',x,'y is:',y)
    return x*10+y
ret=reduce(add,[1,3,5,7,9])
print(ret)
登入後複製

##顯示結果:

 x is: 1 y is: 3
 x is: 13 y is: 5
 x is: 135 y is: 7
 x is: 1357 y is: 9
 13579
登入後複製

以上是python中map函數和reduce函數的使用方法介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!