python函数式编程思想_python函数式编程
版本: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函数式编程相关推荐
- C++的编程思想和进阶编程
文章目录 C++的编程思想和进阶编程 软件设计模式 泛型编程的思想 STL 六大组件 容器 仿函数 算法 迭代器 适配器 空间配置器(allocator) 总结 C++多线程 C++的编程思想和进阶编 ...
- 如何建立编程思想和提高编程思想
一.首先,什么是编程思想? 编程思想是一种指导思想,这个指导思想,将会诱发你如何写代码的行为. 如果理解这话的意思呢?打个比方,中华文明千百年在民众心中形成了一个"统一天下"的思想 ...
- python核心编程电子书_Python核心编程 PDF 超清第3版
给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于Python编程.Python核心编程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小22.4 MB,卫斯理编写,目前豆瓣 ...
- python线程池模块_python并发编程之进程池,线程池,协程
需要注意一下 不能无限的开进程,不能无限的开线程 最常用的就是开进程池,开线程池.其中回调函数非常重要 回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去 ...
- python线程池模块_Python并发编程之线程池/进程池--concurrent.futures模块
一.关于concurrent.futures模块 Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码,但是当项目达到一定的规模,频繁创建/ ...
- python线程池模块_python并发编程之进程池,线程池,协程(Python标准模块--concurrent.futures(并发未来))...
需要注意一下 不能无限的开进程,不能无限的开线程 最常用的就是开进程池,开线程池.其中回调函数非常重要 回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去 ...
- python网络编程自学_Python网络编程学习_Day11
一.协程 1.理论知识 协程,又称伪线程,是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈,协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈. ...
- java编程思想 入门_java编程思想学习(基础)
第一章 java介绍 1.编程的本质: 机器空间:解空间 问题空间:实际需要解决的业务问题,将该问题抽象化,在解空间中对问题建模. 编程就是建立问题空间和机器空间中的关联 面向对象编程思想: 1.万物 ...
- java编程思想 文献_JAVA编程思想英文参考文献和翻译
JAVA编程思想英文参考文献和翻译 时间:2016-11-15 14:44来源:毕业论文 虽然java是基于C++基础上的,但是它更是纯粹的面向对象语 "If we spoke a diff ...
最新文章
- find name 模糊匹配_Linux的文件搜索命令(locate ,find,grep,find命令和)
- Python中range和xrange的区别
- linux c 之sigsuspend 进程阻塞
- 重温强化学习之强化学习简介
- window 2008 和 windows vista windows 7 安装 MSMQ
- java的迭代器类中有哪些类_java中的集合类 以及 迭代器
- java多线程爬虫框架crawler4j的使用
- c替代if else_答应我,别再if/else走天下了可以吗
- sklearn使用小记GridSearchCV
- CCNA 中文教材 (pdf)
- 智能语音交互之简单实例
- 亮瞎眼的十六进制颜色代码表
- ORB-SLAM Spanning Tree 的作用
- 三星Galaxy S20:如何更改屏幕分辨率
- 网站服务器选择什么操作系统,网站服务器选择哪种操作系统比较好
- uniapp实现附有二维码的图片的本地保存
- 使用R进行数据匹配的方法
- 巴菲特致股东的一封信:1988年
- 网吧软件限制的小技巧
- 问题 A: [入门OJ]买水果(初中生请多多指教)
热门文章
- poj 3268 SliverrCowParty Dijkstra最短路(单向路转向)
- zookeeper3.5.x版本启动报错java.io.IOException: No snapshot found, but there are log entries.解决
- Spark SQL中的DataFrame
- python练习:科赫小雪花包裹
- 连接远程应用服务器appserver出错,Worklight 6.2:无法使用WL.Client.Connect连接到Worklight App Server...
- 怎么把外部参照合并到图纸_CAD图纸中插入的参照底图如何使用
- linux安装phpunit,linux下安装phpunit
- python调用oracle存,Python使用cx_Oracle调用Oracle存储过程的方法示例
- mysql mvcc和行锁_mysql在RR的隔离级别下,究竟是通过MVCC解决幻读的还是通过行锁的next key算法解决的?...
- 计算机网络实用技术教学资源,计算机网络实用技术第一章课件教学.ppt