filter 遍历序列中的每一个元素,判断每个元素得到的布尔值,如果是True则留下来

初级版本 
 1 movie_people = ['lining','zhaoheng','m aoxin','m_lining','m_zhaoheng']
 2 def m_show(n):
 3     return n.endswith('m')
 4 #lambda n: n.endswith('m')
 5
 6 def filter_test(fun,array):
 7     ret = []
 8     for p in array:
 9         if not fun(p):
10             ret.append(p)
11     return ret
12
13
14 # res = filter_test(m_show,movie_people)
15 # print(res)
16
17 res = filter_test(lambda n: n.endswith('m'),movie_people)
18 print(res)

高级版本

1 #filter 函数
2 movie_people = ['lining', 'zhaoheng', 'm aoxin', 'm_lining', 'm_zhaoheng']
3 res = filter(lambda n: not  n.endswith('m'),movie_people)
4 print(list(res))

# map 为内置函数  其两个参数  fun主要为可迭代对象实现简单的功能   array为可迭代对象

初级版本

1 num_1 = [1,2,3,4,5]
2 def map_test(array):
3     ret = []
4     for i in array:
5         ret.append(i+1)
6     return ret
7 print(map_test(num_1)) 

初级版本2

 1 num_1 = [1,2,3,4,5]
 2 def add_one(x):
 3     return x+1
 4 def reduce_one(x):
 5     return x-1
 6
 7 def map_test(fun,array):
 8     ret = []
 9     for i in array:
10         res = fun(i)
11         ret.append(res)
12     return ret
13 print(map_test(add_one,num_1))
14 print(map_test(lambda x:x+1,num_1)) 

初级版本3

 1 num_1 = [1,2,3,4,5]
 2 def map_test(fun,array):
 3     ret = []
 4     for i in array:
 5         res = fun(i)
 6         ret.append(res)
 7     return ret
 8 print(map_test(lambda x:x+1,num_1))
 9 print(map_test(lambda x:x-1,num_1))
10 print(map_test(lambda x:x**2,num_1))
11                                        

高级版本

1 res = map(lambda x:x+1,num_1)

2 print(list(res))

#reduce :处理一个序列,然后把序列进行合并操作初级版本1
1 num_1 = [1,2,3,4,12]
2 res = 0
3 for num in num_1:
4     res+=num
5 print(res)

初级版本 2

 1 def reduce_test(func,array,init=100):
 2     if init is None:
 3         res = array.pop(0)
 4     else:
 5         res = init
 6     for num in array:
 7         res=func(res,num)
 8     return res
 9
10 ret = reduce_test(lambda x,y:x*y,num_1)
11 print(ret)

高级版本

1 from functools import reduce
2 num_1 = [1,2,3,4,12]
3 res = reduce(lambda x,y:x*y,num_1,100)
4 print(res)

 

转载于:https://www.cnblogs.com/lyr-1122/p/8933190.html

filter 函数 map 函数 reduce函数 介绍相关推荐

  1. python高阶函数、map reduce 自己如何去定义_「python」高阶函数map、reduce的介绍

    Python map 先看官方介绍: map(function, iterable, ...)Return an iterator that applies function to every ite ...

  2. python map lambda表达式_Python的lambda表达式、filter、map、reduce等函数的用法

    lambda是表达式,用于创建匿名函数,可以和filter.map.reduce配合使用. 本文环境Python3.7. 一.lambda表达式 lambda 只包含一个语句,用于创建匿名函数. 语法 ...

  3. [转载] Python 内置函数 lambda、filter、map、reduce

    参考链接: Python lambda (匿名函数) | filter, map, reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python ...

  4. Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)

    文章目录 一.lambda是什么? 1.lambda语法 2.语法详解 二.lambda的使用 1.定义 2.调用 3.替换 4.作返回值 三.lambda作参数 1.map函数 2.reduce函数 ...

  5. Python中lambda、zip、map、reduce函数的使用

    一.lambda表达式 lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数.lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新 ...

  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. python lambda map reduce_简单了解python filter、map、reduce的区别

    这篇文章主要介绍了简单了解python filter.map.reduce的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python中有一些 ...

  8. python lambda map reduce_python:lambda、filter、map、reduce

    lambda 为关键字.filter,map,reduce为内置函数. lambda:实现python中单行最小函数. g = lambda x: x * 2 #相当于 def g(x): retur ...

  9. python map lambda 分割字符串_python之lambda、filter、map、reduce的用法说明(基于python2)...

    python中有一些非常有趣的函数,面试的时候可能会遇到.今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,m ...

  10. 函数式编程filter、map、reduce

    函数式编程filter.map.reduce (本文是一篇学习笔记和自己对filter.map.reduce的理解 参考:link. 作为一名半路出家的程序员,还记得第一门学习的编程语言是C,那种面向 ...

最新文章

  1. 取代Python多进程!伯克利开源分布式框架Ray
  2. zynq学习02 新建一个Helloworld工程
  3. linux查询数据库sql,SQL Server 跨数据库查询
  4. ABAP中操作回车、换行、回车加换行、的方案
  5. 初探 C# GPU 通用计算技术
  6. [转载]建立团队沟通协作工作方式
  7. 开展“稳健”的生物信息学研究的9个要点
  8. OpenShift 4 - DevSecOps (2) - 修复 RHACS 发现的安全隐患
  9. kafka练习:创建topic以及生产与消费
  10. 2021计算机视觉-包揽所有前沿论文源码 -上半年
  11. matlab机器人建立动力学模型,机械臂动力学建模(1)- 建立机器人模型
  12. 浏览器配置异常_IE浏览器异常 修复/重置ie设置方法
  13. matplotlib配色
  14. SAS计算IV代码分享
  15. PHP制作面包屑,thinkPHP制作面包屑方法
  16. 一次搞明白什么是MVC、MVP、MVVM?
  17. linux 编译器制作,Linux交叉編譯器的制作(一)
  18. 利用运放实现信号的平移
  19. 计算机管理员考核指标库,仓库管理员绩效考核指标.docx
  20. 如何快速高效学习技术

热门文章

  1. 服务器发送消息到客户端互斥,分布式相关/Zookeeper.md · 。W/Java-info - Gitee.com
  2. icon-font-generator 的使用
  3. 使用Docker搭建私有云笔记
  4. 【其他技术类文章】如何用mapinfo绘制地图
  5. topcoder srm 410 div1
  6. 临沂经济技术开发区 智慧让城市建设更美好
  7. JDK 环境变量配置
  8. 通过这本拼图学习Bash
  9. 面向对象实现放大镜_面向音乐家和音乐爱好者的开放式硬件:耳机,放大器等
  10. posix是什么_什么是POSIX? 理查德·斯托曼(Richard Stallman)解释