[Python]中filter、map、reduce、lambda的用法
来源:互联网 发布:合肥软件外包公司 编辑:程序博客网 时间:2024/05/17 04:03
原创文章,欢迎转载。转载请注明:转载自 祥的博客
原文链接:http://blog.csdn.net/humanking7/article/details/45950985
Python中内置了一些非常方便的函数,可以节约我们的开发时间和提高程序的效率。
filter、map、reduce的用法
filter用法
filter(function, sequence)
:对sequence
中的item
依次执行 function(item)
,将执行结果为True
的item
组成一个List
、String
、Tuple
(取决于sequence
的类型)返回
#寻找能被2整除的数>>> def fun(x): return x%2==0 >>> filter(fun,range(0,10))[0, 2, 4, 6, 8]
map用法
map(function, sequence)
:对sequence
中的item
依次执行function(item)
,见执行结果组成一个List
返回:
>>> def fun(x): return x**2>>> map(fun,range(1,10))[1, 4, 9, 16, 25, 36, 49, 64, 81]>>> def fun(x): return x+x>>> map(fun,'abcdefg')['aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg']#得到的还是列表
另外map()
也支持多个 sequence
,这就要求function
也支持相应数量的参数输入。
>>> def add(x,y): return x+y>>> map(add,range(10),range(10))[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
reduce用法
reduce(function, sequence[, initial])
:对sequence
中的item
顺序迭代调用 function
,如果有 initial
,还可以作为初始值调用。
>>> def add(x,y): return x+y>>> reduce(add, range(1,4)) #返回 6 = 1+2+36>>> reduce(add, range(1,4), 10) #返回 16 = 1+2+3 (+10)16
与lambda的联合使用
lambda
:这是Python支持一种有趣的语法,它允许你快速定义单行的最小函数,类似与C语言中的宏,这些叫做lambda
的函数,是从LISP借用来的,可以用在任何需要函数的地方。
#定义的平方函数>>> square = lambda x: x**2>>> square(3)9>>> (lambda x: x**2)(3) #也可以这样调用,单行最小函数9
所以把filter
、map
、 reduce
和 lambda
结合起来用,函数就可以简单的写成一行。(装逼技能 Get)
lambda与filter联合使用
#寻找能被2整除的数>>> filter( lambda x:x%2==0, range(0,10) )[0, 2, 4, 6, 8]
lambda与map联合使用
#分别求列表数值的平方>>> map( lambda x:x**2, range(0,10) )[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
lambda与reduce联合使用
#1+2+3+···+100=? 高斯小时候做过的数学题>>> reduce( lambda x,y:x+y, range(1,101) )5050
0 0
- Python中 filter | map | reduce | lambda的用法
- Python中filter、map、reduce、lambda 的用法
- [Python]中filter、map、reduce、lambda的用法
- python特殊用法:filter map reduce lambda
- python: lambda, filter, map, reduce 用法
- python中的map/reduce, filter, lambda, set的用法
- Python中filter、lambda、map、reduce的使用
- Python的filter, map, reduce, lambda
- Python 的lambda 以及 filter , map , reduce
- python filter lambda reduce map
- Python: lambda, map, reduce, filter
- Python filter、map、reduce、lambda
- Python:lambda、map、filter、reduce
- filter、map、reduce、lambda(Python)
- 关于python中,map,reduce,filter,sort函数的用法:
- 关于python中,map,reduce,filter,sorted函数的用法
- python中函数式编程map、reduce、filter的用法
- python 的map,reduce,filter的用法
- 计算1! + 2! + 3! + …… + n!的和(C++)
- java 集合类学习一
- Linux高级编程复习 第十二章 多线程概念_互斥锁--_多线程同步_信号_条件量_信号量
- Android图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神
- [Python]中filter、map、reduce、lambda的用法
- Android图片上传的客户端和服务端代码
- angular directive中scope:{}
- word批量导入、修改图片大小和压缩图片
- 在偏好文件中存储数据
- 第12周项目2—摩托车继承自行车和机动车
- Ubuntu下Spark开发环境搭建
- 小晴天老师系列——苹果大丰收(动态规划)
- 【Android开发】 如何隐藏ListView的滚动条?