版本:python2.7.6

lambda  filter()  map()  reduce()

三点:输入,作用,输出

1、lambda

lambda 参数:表达式   返回值为表达式的值

>>> f=lambda x,y:x*y >>> f(4,6) 24

参数匿名

>>> L=[lambda x,y:x+y+1,lambda x,y:x+y+2,lambda x,y:x+y+3] >>> for f inL: ... print f(1,2) ... 4

5

6

>>> L[0](2,3) 6

>>> L[0] at 0xb74e879c>

列表L 中的每个元素都是一个有两个参数的匿名函数。

2、map()

输入两个参数:函数和可迭代对象

作用:对可迭代对象每个元素执行函数的操作

输出:返回结果值的迭代对象

返回迭代器(每次取一个结果值)(python3.4.3)

python2.7.6

>>> defF(a): ... return a**2

... >>> map(F,[1,2,3,4]) [1, 4, 9, 16]

pthon3.4.3

>>> defF(a): ... return a**2

... >>> map(F,[1,2,3,4])

>>> q=map(F,[1,2,3,4]) >>>list(q) [1, 4, 9, 16]

3、filter()

输入:一个函数和一个序列。

作用:过滤数列,函数作用于序列每个元素,返回True保留,False则丢弃。

输出:输出过滤后的数列

输出迭代器(python3.4.3)

python2.7.6

>>> filter(lambda x:x%2==1,[1,2,3,4,5,6,7]) [1, 3, 5, 7]

python3.4.3

>>> filter(lambda x:x%2==1,[1,2,3,4,5,6,7])

>>> f=filter(lambda x:x%2==1,[1,2,3,4,5,6,7]) >>>list(f) [1, 3, 5, 7]

4、reduce()函数  (python3中移到functools包中)

输入:函数和序列,函数必须接受两个参数

作用:前两个参数执行函数的运算,得到结果再与下一个参数运算。

输出:所有参数的运算值

>>> reduce(lambda x,y:x+y,[1,2,3,4]) 10

pthon3.4.3

>>> fromfunctools import reduce >>> reduce(lambda x,y:x+y,[1,2,3,4]) 10

python函数式编程思想_python函数式编程相关推荐

  1. C++的编程思想和进阶编程

    文章目录 C++的编程思想和进阶编程 软件设计模式 泛型编程的思想 STL 六大组件 容器 仿函数 算法 迭代器 适配器 空间配置器(allocator) 总结 C++多线程 C++的编程思想和进阶编 ...

  2. 如何建立编程思想和提高编程思想

    一.首先,什么是编程思想? 编程思想是一种指导思想,这个指导思想,将会诱发你如何写代码的行为. 如果理解这话的意思呢?打个比方,中华文明千百年在民众心中形成了一个"统一天下"的思想 ...

  3. python核心编程电子书_Python核心编程 PDF 超清第3版

    给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于Python编程.Python核心编程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小22.4 MB,卫斯理编写,目前豆瓣 ...

  4. python线程池模块_python并发编程之进程池,线程池,协程

    需要注意一下 不能无限的开进程,不能无限的开线程 最常用的就是开进程池,开线程池.其中回调函数非常重要 回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去 ...

  5. python线程池模块_Python并发编程之线程池/进程池--concurrent.futures模块

    一.关于concurrent.futures模块 Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码,但是当项目达到一定的规模,频繁创建/ ...

  6. python线程池模块_python并发编程之进程池,线程池,协程(Python标准模块--concurrent.futures(并发未来))...

    需要注意一下 不能无限的开进程,不能无限的开线程 最常用的就是开进程池,开线程池.其中回调函数非常重要 回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去 ...

  7. python网络编程自学_Python网络编程学习_Day11

    一.协程 1.理论知识 协程,又称伪线程,是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈,协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈. ...

  8. java编程思想 入门_java编程思想学习(基础)

    第一章 java介绍 1.编程的本质: 机器空间:解空间 问题空间:实际需要解决的业务问题,将该问题抽象化,在解空间中对问题建模. 编程就是建立问题空间和机器空间中的关联 面向对象编程思想: 1.万物 ...

  9. java编程思想 文献_JAVA编程思想英文参考文献和翻译

    JAVA编程思想英文参考文献和翻译 时间:2016-11-15 14:44来源:毕业论文 虽然java是基于C++基础上的,但是它更是纯粹的面向对象语 "If we spoke a diff ...

最新文章

  1. find name 模糊匹配_Linux的文件搜索命令(locate ,find,grep,find命令和)
  2. Python中range和xrange的区别
  3. linux c 之sigsuspend 进程阻塞
  4. 重温强化学习之强化学习简介
  5. window 2008 和 windows vista windows 7 安装 MSMQ
  6. java的迭代器类中有哪些类_java中的集合类 以及 迭代器
  7. java多线程爬虫框架crawler4j的使用
  8. c替代if else_答应我,别再if/else走天下了可以吗
  9. sklearn使用小记GridSearchCV
  10. CCNA 中文教材 (pdf)
  11. 智能语音交互之简单实例
  12. 亮瞎眼的十六进制颜色代码表
  13. ORB-SLAM Spanning Tree 的作用
  14. 三星Galaxy S20:如何更改屏幕分辨率
  15. 网站服务器选择什么操作系统,网站服务器选择哪种操作系统比较好
  16. uniapp实现附有二维码的图片的本地保存
  17. 使用R进行数据匹配的方法
  18. 巴菲特致股东的一封信:1988年
  19. 网吧软件限制的小技巧
  20. 问题 A: [入门OJ]买水果(初中生请多多指教)

热门文章

  1. poj 3268 SliverrCowParty Dijkstra最短路(单向路转向)
  2. zookeeper3.5.x版本启动报错java.io.IOException: No snapshot found, but there are log entries.解决
  3. Spark SQL中的DataFrame
  4. python练习:科赫小雪花包裹
  5. 连接远程应用服务器appserver出错,Worklight 6.2:无法使用WL.Client.Connect连接到Worklight App Server...
  6. 怎么把外部参照合并到图纸_CAD图纸中插入的参照底图如何使用
  7. linux安装phpunit,linux下安装phpunit
  8. python调用oracle存,Python使用cx_Oracle调用Oracle存储过程的方法示例
  9. mysql mvcc和行锁_mysql在RR的隔离级别下,究竟是通过MVCC解决幻读的还是通过行锁的next key算法解决的?...
  10. 计算机网络实用技术教学资源,计算机网络实用技术第一章课件教学.ppt