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]
  1. 将一个数值列表的每个元素转换为字符串之后用'#'连接
print "#".join(map(str, [1,2,3]))

结果为:
1#2#3
  1. 将两个列表对位的元素相加,并返回新列表
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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容