Python map、reduce函数用法

本博客所有文章采用的授权方式为 自由转载-非商用-非衍生-保持署名 ,转载请务必注明出处,谢谢。

声明:
本博客欢迎转发,但请注明出处,保留原作者信息
博客地址:孟阿龙的博客
所有内容为本人学习、研究、总结。如有雷同,实属荣幸


最近解决两个小问题的时候用到了python的map和reduce函数,简单用法做个记录:

一. map 函数

语法:map(function, iterable,...)

用法:
对列表中的每一个元素应用function函数,并返回对应新的列表

参数:
function -- 函数的引用
iterable -- 一个或者多个序列

返回值:
一个新的列表

实例:

1. 对一个列表的所有元素计算平方

def sequare(x):
    return x*x

print map(sequare, [1,2,3])

结果为:
[1, 4, 9]

2. 将一个数值列表的每个元素转换为字符串之后用'#'连接

print "#".join(map(str, [1,2,3]))

结果为:
1#2#3

3. 将两个列表对位的元素相加,并返回新列表

def add_list(x, y):
    return x + y

print map(add, [1,2,3], [4,5,6])

结果为:
[5, 7, 9]

二. reduce 函数

语法:reduce(function, iterable[, initializer])

用法:
对列表中的所有元素执行function的进行累积计算,返回最终计算结果

参数:
function -- 函数的引用
iterable -- 列表或者可迭代对象

返回值:
最终的计算结果

实例

  1. 计算列表所有元素的和
    普通方法可以通过for循环遍历即可实现,用reduce只需要简单的一行
def add(x, y):
    return x + y
print reduce(add, [1,2,3])

结果为:
6

你可能感兴趣的:(python,Linux)