python函数式编程学习之map,reduce,filter,sorted
2024-09-04 18:44:56
map(f, list)函数用于将函数f运用到list里的每个元素中
写个例子
def pow(x):
return x*x
map(pow, [2,3,4])
reduce(f, list)函数用于将函数f运用到list的前两个元素,在将f运用到得到的结果和第三个元素,依次类推
写个例子
def add(x, y):
return x+y
redude(add, ['a', 'b', 'c', 'd'])
abcd
reduce(add, ['a','c','b','d'])
acbd
和map()
类似,filter()
也接收一个函数和一个序列。和map()
不同的时,filter()
把传入的函数依次作用于每个元素,然后根据返回值是True
还是False
决定保留还是丢弃该元素。
sorted()方法对list进行排序
sorted([36, 5, 12, 9, 21])
[5, 9, 12, 21, 36]
sorted()
函数也是一个高阶函数,它还可以接收一个比较函数来实现自定义的排序
def reversed_cmp(x, y):
if x > y:
return -1
if x < y:
return 1
return 0
sorted([36, 5, 12, 9, 21], reversed_cmp)
返回函数
[36, 21, 12, 9, 5]
匿名函数lambda
在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)
偏函数functools.partial
就是帮助我们创建一个偏函数的,不需要我们自己定义int2()
,可以直接使用下面的代码创建一个新的函数int2
:
>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('1000000')
64
>>> int2('1010101')
85
所以,简单总结functools.partial
的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。
以上参考自廖雪峰老师的python2.7教程
最新文章
- IE里面的一些BUG记录
- Python基础之set与函数
- Servlet教程
- BZOJ4435 : [Cerc2015]Juice Junctions
- YTU 2297: KMP模式匹配 三(串)
- 使用cookie保存页面登录信息
- Codeforces Round #214 (Div. 2) c题(dp)
- 关于Linux测试题
- sql sever 随机查询
- PostgreSQL 类型转换 -除法
- VxWorks程序指南
- 使用Python画玫瑰花
- springboot加ES实现全局检索
- mysql本地安装
- getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()
- 使用mini-textbox控件时 不能获取value值
- M1 卡技术规范
- hihoCoder week23 最短路径&#183;一
- html5 canvas 奇怪的形状垂直渐变
- Android.mk 用法介绍
热门文章
- Python+Selenium中级篇之-二次封装Selenium中几个方法
- Composer 下载安装类库
- docker安装中附带安装的其他软件
- mysql中游标的使用案例详解(学习笔记)(转)
- C#中找不到MouseWheel事件的解决办法
- Vue实现增删改查功能
- vue项目中使用阿里iconfont图标
- 关于在redux当中 reducer是如何知道传入的state是初始化state下面的哪一条数据
- hdu 4989(水题)
- Codeforces 782B The Meeting Place Cannot Be Changed(二分答案)