Python的map、filter、reduce函数

map函数func作用于给定序列的每个元素,并用一个列表来提供返回值。
map函数python实现代码:

def map(func,seq): 
    mapped_seq = [] 
    for eachItem in seq: 
        mapped_seq.append(func(eachItem)) 
    return mapped_seq

filter函数的功能相当于过滤器。调用一个布尔函数bool_func来迭代遍历每个seq中的元素;返回一个使bool_seq返回值为true的元素的序列。

filter函数python代码实现:

def filter(bool_func,seq): 
    filtered_seq = [] 
    for eachItem in seq: 
        if bool_func(eachItem): 
            filtered_seq.append(eachItem) 
    return filtered_seq

reduce函数,func为二元函数,将func作用于seq序列的元素,每次携带一对(先前的结果以及下一个序列的元素),连续的将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值。

reduct函数python代码实现:

def reduce(bin_func,seq,initial=None): 
    lseq = list(seq) 
    if initial is None: 
        res = lseq.pop(0) 
    else: 
        res = initial 
    for eachItem in lseq: 
        res = bin_func(res,eachItem) 
    return res

下面是测试的代码

#coding:utf-8
def map_func(lis):
    return lis + 1
def filter_func(li):
    if li % 2 == 0:
        return True
    else:
        return False
        
def reduce_func(li, lis):
    return li + lis
    
li = [1,2,3,4,5]
map_l = map(map_func, li) #将li中所有的数都+1
filter_l = filter(filter_func, li) #得到li中能被2整除的
reduce_l = reduce(reduce_func, li) #1+2+3+4+5
print map_l
print filter_l
print reduce_l

运行结果如下:

C:\>python test1.py

[2, 3, 4, 5, 6]

[2, 4]

15

posted on 2012-04-25 17:52 linyawen 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/linyawen/archive/2012/04/25/2470201.html

Python的map、filter、reduce函数相关推荐

  1. Python中map和reduce函数?

    1.从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce( ...

  2. python十九:map,filter,reduce函数

    # 处理序列中的每个元素,得到的结果是一个'列表',该'列表'元素个数及位置与原来一样 def map_practice(func, lt_num):lt_new = []for i in lt_nu ...

  3. map,filter,reduce函数总结

    #map:处理序列中的每一个元素,得到的结果是一个'列表(迭代器)',该列表元素个数及位置与原来一样#map处理的对象可以是列表,列表中的内容可以是字符串,数字,..也可以只处理一个独立的字符串 #f ...

  4. python map filter reduce

    本文记录python中,map,filter,reduce函数的用法. 参考链接: http://www.python-course.eu/lambda.php map map(func, seq) ...

  5. js数组中forEach/some/every/map/filter/reduce的区别

    2019独角兽企业重金招聘Python工程师标准>>> // js数组中forEach/some/every/map/filter/reduce的区别// 1. foreach:就是 ...

  6. python3中map函数_python3中map()和reduce()函数

    Python内建了map()和reduce()函数. 现在,我们用Python代码实现: def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, 7, ...

  7. 基本函数input() print() map() filter() reduce()和lambda()算子-operater用法

    #输入逗号分割的两个数字--input输入的内容,默认为字符类型 x,y =input("input:").split(",") print(x,y)#输入的多 ...

  8. python中map()函数使用,数据类型转换

    python中map()函数进行数据转换 用法: map(function, iterable, -), 返回的是map型,(ps:python2中返回的是list型可以直接显示,但在python3中 ...

  9. Python函数详解:函数定义、调用,lambda函数,高阶函数map,filter,reduce,函数式编程,模块化设计、代码复用、函数递归、enumerate()

    一.函数 函数是一段具有特定功能的.可重用的语句组,通过函数名来表示和调用. 函数是一段代码的抽象和封装 函数是一段具有特定功能的.可重用的语句组 函数是一种功能的抽象,表达特定功能 两个作用:降低编 ...

  10. 尾递归调用 高阶函数 map filter reduce

    #!/user/bin/env python# -*- coding:utf-8 -*-# 1.函数递归调用,函数返回值如果是另一个函数,而不是一个确切值,返回的则是这个函数的地址,需要我们加上()后 ...

最新文章

  1. 太阳能正在崛起 光伏养老蔚然成风
  2. java web日期_java-web——第十一课 时间类
  3. 证券一哥炼成记——郭树清
  4. 机器学习算法及实战——朴素贝叶斯
  5. vb的VSFlexGrid控件
  6. Nginx(三):反向代理
  7. Linux——VIM学习选取多行(转)
  8. Java通过JDBC操作Hive
  9. h5 宽度全屏自适应
  10. 运动控制卡选型和特点讨论
  11. 2020计算机二级office激活码,2020计算机二级office v3.5.2
  12. MATLAB官方机器学习入门教程
  13. 联想微型计算机改win76,联想ideacentre一体机改win7详细教程
  14. 二元二次方程例题_二元二次方程组练习题及答案.doc
  15. 讯飞离线语音合成(语记)
  16. typescript入门之:如何使用、不限定函数参数的个数传参、interface约束(对象、函数、数组、类)、定义可选参数
  17. C#中推荐使用Environment.NewLine
  18. 视频剪辑完成,应该如何给视频配音?三种配音方法快来学
  19. u8的汇兑损益的计算公式_C程序计算损益
  20. display:weston:weston-simple-egl

热门文章

  1. JZOJ 5402. 【NOIP2017提高A组模拟10.8】God Knows
  2. android 默认开关,android默认设置的开关
  3. 利用xsl和xml转html没有内容_P系列2代码页转pdf后篇
  4. Qt 互斥锁 QMutex 的简单应用
  5. html5 如何局部放大,【HTML5特效】挺简单的HTML5放大效果
  6. python打开figure对象_Python ——绘图 plt.figure()的使用
  7. adb install 和adb uninstall
  8. PHP之Smarty简单实现
  9. 游戏UI设计(1.2)--Textures Sprite之封装
  10. UVA1629 Cake slicing