Python 高階函數:map和reduce

map(函數,可迭代對象(Iterable)),作用是把可迭代的對象中的每一個原素作用在函數中,生成一個新的迭代器(Iterator)。

例如:
將一個列表中的所有數字轉化爲爲平方跟,並將其放在另外一個列表中。

def f(x):
x=x*x
return x
first=[1,2,3,4,5,6]
second=map(f,first)
for s in second:
print(s)
#======================== ========================
1
4
9
16
36
reduce(函數,序列)

reduce(function, iterable[, initializer])
function – 函數,有兩個參數
iterable – 可迭代對象
initializer – 可選,初始參數
意思是用函數把序列中的一個元素和其下一個元素做累積的運算。
例如:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from functools import reduce
#將str類型的對象轉化成int類型

#第一步將str轉化爲int
def strInt(str1):
    str2=map(int,str1)
    return str2
#第二步整數的轉換
def leiCheng(x,y):
    x=x*10+y
    return x
#第三步將str->int
str3=reduce(leiCheng,strInt('12345'))
print(str3)
#======================== ========================
12345
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章