Python 高阶函数:map和reduce

时间:2022-11-24 18:31:34
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