高阶函数与与匿名函数
来源:互联网 发布:百鸟朝凤 知乎 编辑:程序博客网 时间:2024/06/07 06:04
高阶函数
#就是把函数当成参数传递的一种函数
def add(x,y,f): return f(x)+f(y)print (add(-8,11,abs))
19
#map()函数
#map()是一个内置函数,他接受一个函数f和一个list或者tuple,并且将里面的元素传递给函数f,最后交给map()函数处理,并且返回一个列表
#map()函数第一个参数是函数,第二个参数是可迭代对象
lt =[1,2,3,4,5]def f2(x): return x*xm1=map(f2,lt)print(type(m1))print (m1)
type ‘list’
[1, 4, 9, 16, 25]
#reduce()函数
#传入的函数必须接受两个参数
#每次把可迭代对象的前两个参数作为函数的实参,传入到f函数中
#把每次前两个元素的运算的结果作为第一个实参,继续与下一个参数做运算,直到读完元素
def f(x,y): return x+yprint (reduce(f,[1,2,3,4,5],10))
25
#filter()函数
#每次把可迭代对象的元素传入进去,如果返回为True,则保留该元素,如果返回为False,则不保留
a =[1,2,3,4,5,6]def is_odd(x): return x%2 ==1print(filter(is_odd,a))
[1, 3, 5]
#sorted()函数
#对字典进行排序
#sorted(…)
# sorted(iterable, cmp=None, key=None, reverse=False) –> new sorted list
#iterable:是可迭代类型;
# cmp:用于比较的函数,比较什么由key决定;
# key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
# reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,有默认值。
# 返回值:是一个经过排序的可迭代类型,与iterable一样。
mm=dict(a=1,c=4,b=10,d=9)#按照key值升序,返回一个列表test1 = sorted(mm.iteritems(),key =lambda d:d[0],reverse=False)#按照value值升序,返回一个列表\test = sorted(mm.iteritems(),key =lambda d:d[1],reverse=False)print test1print test
[(‘a’, 1), (‘b’, 10), (‘c’, 4), (‘d’, 9)]
[(‘a’, 1), (‘c’, 4), (‘d’, 9), (‘b’, 10)]
匿名函数
#没有名字的函数
def sum(x,y): return x+yprint (sum(1,5))#下面就是匿名函数,结果跟上面一样都为6#匿名函数方便使用,其实不常用m = lambda x,y:x+yprint (m(1,5))
6
6
- 高阶函数与与匿名函数
- 高阶函数与与匿名函数
- 高阶函数与匿名函数
- LISP 5.8-5.9 高阶函数与匿名函数
- CommonLisp(三)---高阶函数与匿名函数(lambda演算)
- 匿名函数与高阶函数的使用
- 匿名函数与递归
- 匿名函数与lambda
- 内联函数与匿名函数
- Scala 函数与匿名函数
- Scala函数式编程进阶(匿名函数、高阶函数、函数类型推断、Currying)与Spark源码鉴赏
- !!scala 高阶函数,匿名函数
- 高阶函数和匿名函数
- Python高阶函数及匿名函数
- Python-高阶函数及匿名函数
- 匿名函数与lamdba表达式
- c# 匿名函数与委托
- JavaScript匿名函数与委托
- NGUI 代码实现UISprite显示图片原尺寸的snap功能
- Mask R-CNN Keras Tensorflow实现
- 常用信息汇总
- 如何用ChemDraw Prime 绘制任意弧线箭头
- Francisco Partners收购Comodo CA业务
- 高阶函数与与匿名函数
- 触发器调用Java接口程序(一)
- 微服务之Swagger
- 升级到Kubernetes1.8.4的配置细节差异以及k8s几个不常见的坑
- ubuntu14安装nVidia驱动和CUDA Toolkit的安装和调试
- WebService
- 关于ajax为什么要return true/false
- 顺序表实现之C语言(附加各种顺序表排序问题)
- 两个程序的爱情故事