Python map、reduce函数用法

2019/02/25 Python

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

声明:
本博客欢迎转发,但请保留原作者信息!
博客地址: 孟阿龙的博客

最近解决两个小问题的时候用到了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
    

Search

    Table of Contents