1.高阶函数

把函数当成一个参数的函数

例子:

abs函数作为一个参数

def add(a,b,f):

return f(a) + f(b)

print (add(10,-10,abs))

结果:

20

常用内置高阶函数

1)map()函数:接收一个函数和列表,并将列表的值传给函数,最后将结果以列表形式输出

例子:

def power(x):

return x*x

list1=[1,2,3,4,5,6,7,8,9,10]

print map(power,list1)

结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2)reduce()函数:和map()类似,也是内置高阶函数,但函数f需接收两个变量;第二次调用把list中第一次处理的值(list中第1和第2个参数之和),当做第1个参数继续,依次类推

例子:

def add(x,y):

return x+y

list1=[1,2,3,4,5,6]

print reduce(add,list1)

结果:

21

3)filter()函数:类似map(),根据f函数返回的True或者False,过滤值,最后输出列表

例子:

def is_even(x):

return x%2 == 0

list1 = [1,2,3,4,5,6,7,8,9,10]

print filter(is_even,list1)

结果:

[2, 4, 6, 8, 10]

4) sorted()函数:返回一个经过排序的列表

sorted(...)

sorted(iterable, cmp=None, key=None,reverse=False) --> new sorted list

三个可选参数:

cmp:指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None。

key:指定接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。

reverse:是一个布尔值。如果设置为True,列表元素将被倒序排列。

例子:

mm = dict(a=1,b=3,c=2)

print (mm)

for i in mm:

print (i)

for j in mm.iteritems():

print(j)

test = sorted(mm.iteritems(), key=lambda x:x[1])

print(test)

结果:

{'a': 1, 'c': 2, 'b': 3}

a

c

b

('a', 1)

('c', 2)

('b', 3)

[('a', 1), ('c', 2), ('b', 3)]

说明:lambda x:x[1] 为匿名函数

2.匿名函数

没有名字,可以快速定义单行的最小函数

例子:

f = lambda x,y:x*y

print f(10,20)

结果:

200

转载于:https://blog.51cto.com/huangzp/1978596

python高阶函数和匿名函数相关推荐

  1. 一文弄懂python中的函数(自定义函数,匿名函数,高阶函数与解析式)

    什么是函数,如何在 Python 程序中定义函数呢? 说白了,函数就是为了实现某一功能的代码段,只要写好以后,就可以重复利用. python中的自定义函数 Python 的函数具有非常灵活多样的参数形 ...

  2. Python高阶函数使用总结!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:皮钱超,厦门大学,Datawhale原创作者 本文约2000字,建 ...

  3. Python高阶函数--map、lambda、reduce、filter、zip

    一.map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把list 的每个元素依次作用在函数 f 上,得到一个新的 list 并返回. 例如,对于l ...

  4. python高阶函数filter_python 高阶函数之filter

    前文说到python高阶函数之map,相信大家对python中的高阶函数有所了解,此次继续分享python中的另一个高阶函数filter. 先看一下filter() 函数签名 >>> ...

  5. python四大高阶函数_详谈Python高阶函数与函数装饰器(推荐)

    一.上节回顾 Python2与Python3字符编码问题,不管你是初学者还是已经对Python的项目了如指掌了,都会犯一些编码上面的错误.我在这里简单归纳Python3和Python2各自的区别. 首 ...

  6. python高阶函数心得体会_Python高阶函数使用总结

    Datawhale干货   作者:皮钱超,厦门大学,Datawhale原创作者 本文约2000字,建议阅读6分钟 审稿人:耿远昊,Datawhale成员,华东师范大学,开源教程<Joyful-P ...

  7. 嵌套函数,匿名函数,高阶函数

    目录 嵌套函数 匿名函数 高阶函数 嵌套函数 就是在函数里再定义一个函数 # 1,函数内部可以在定义函数 # 2,函数要想执行,必须要先被调用 def name1():print('kk')def n ...

  8. 廖雪峰讲python高阶函数求导公式_一文读懂Python 高阶函数

    高阶函数 将函数作为参数传入,这样的函数称为高阶函数.函数式编程就是指这种高度抽象的编程范式. 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函 ...

  9. python使用高阶函数实现_18.python高阶函数

    什么是高阶函数:一个函数可以作为参数传给另外一个函数(一个函数可以用来接收另一个函数作为参数),或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),满足其一则为高阶函数.函数的形参位 ...

最新文章

  1. GridControl摘录
  2. java 不同数据类型之间的转换
  3. 如何统计不重复姓名的个数?
  4. C语言程序设计之编程求鸡和兔的只数,用穷举法解决
  5. 数据结构源码笔记(C语言):二分查找
  6. 《众妙之门——Web用户体验设计与可用性测试》一第2章 在网页设计中通过测量数据优化情感投入2.1 情感应答和行为应答的关系...
  7. 常见的C#异常及其修复方法
  8. 被黑客盯上了…数据都给打包带走了…
  9. Eric Brewer大神
  10. [Vue进阶]为什么我的代码让别人看起来头皮发麻?
  11. git remote传到远程
  12. 二级c语言题库手机软件,C语言二级题库下载
  13. Bing翻译接口(V3版本)
  14. 如何使用matlab进行音频信号处理+代码编译中会遇到的问题+matlab安装包
  15. PHP如何判断图片是否伪造
  16. python 切割立方体,python绘制立方体的方法
  17. 中国99%的白领以及他们的家庭即将面临破产
  18. python裁剪图片大小
  19. 数论:快速傅里叶变换FFT题集
  20. AutoIt 脚本流行编辑工具

热门文章

  1. Android中Messenger的使用
  2. [Java Web – Maven – 1A]maven 3.3.3 for windows 配置(转)
  3. 系出名门Android(2) - 布局(Layout)和菜单(Menu)
  4. 救援模式下解决boot.local修改后无法登陆系统
  5. 学习腾讯的产品管理之道
  6. Digg:私人制造的时代
  7. 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~
  8. ob服务器维修视频,教你如何使用OB系统 还在看转播?你OUT了!
  9. 企业防火墙代替路由器_「防火墙技术连载」基础知识篇 1、什么是防火墙
  10. linux 源码 在线浏览,Linux下实现文档在线浏览