python中的高等函数初探

http://blog.csdn.net/ai_s_ye/article/details/44685305
高阶函数,即是能够把函数作为参数的函数了

我在这里只是体到部分经常会用到的高阶函数:

1、map()

2、reduce()

3、filter()

4、自定义排序函数

5、返回函数

6、闭包

7、匿名函数

8、python 装饰器(重点)

1、map()函数

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

例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每个元素都作平方,就可以用map()函数:

因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

def f(x):return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

输出结果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

注意:map()函数不改变原有的 list,而是返回一个新的 list。

利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

例题如下:现在想

输入:['adam', 'LISA', 'barT']
输出:['Adam', 'Lisa', 'Bart']

代码如下:

def format_name(s):return s[0].upper() + s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])

python中的高等函数初探相关推荐

  1. python中的pop()函数和popleft()函数

    python中的pop()函数和popleft()函数 首先对于pop而言,它是用于stack中的: stack = [1, 2, 3, 4] print(stack) stack.append(6) ...

  2. python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)

    python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录

  3. python中add函数_如何使用python中的add函数?

    之前向大家介绍过python中的求和函数sum函数,numpy中的sum函数,对于数组可以指定维度进行相加.numpy中还有另一种求和运算方法,即add函数.add函数不仅作用于numpy中加法运算, ...

  4. python 2: 解决python中的plot函数的图例legend不能显示中文问题

    python 2: 解决python中的plot函数的图例legend不能显示中文问题 参考文章: (1)python 2: 解决python中的plot函数的图例legend不能显示中文问题 (2) ...

  5. python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法

    0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...

  6. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下  

  7. python input与返回值-python中使用input()函数获取用户输入值方式

    我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以下程序演示. user_gender = input(&qu ...

  8. Python中的sorted函数以及operator.itemgetter函数

    from:Python中的sorted函数以及operator.itemgetter函数 operator.itemgetter函数 operator模块提供的itemgetter函数用于获取对象的哪 ...

  9. python中怎么做分组问题_详解Python中的分组函数groupby和itertools)

    具体代码如下所示: from operator import itemgetter #itemgetter用来去dict中的key,省去了使用lambda函数 from itertools impor ...

最新文章

  1. hadoop分布式文件系统hdfs的概念和特性
  2. 模块化操作(es6写法)
  3. 运维进化论:微盟“删库跑路”给我们的启示
  4. 怎么查看MySQL 源码编译了什么_Mysql 源码编译教程贴
  5. java super关键字简述
  6. Linux netstat命令详解和使用例子(显示各种网络相关信息)
  7. 高并发场景下的缓存 + 数据库双写不一致问题分析与解决方案设计
  8. App开发流程之创建项目和工程基本配置
  9. Hive 之 分析窗口函数
  10. WinEdt LaTex(四)—— 自定义新命令(newcommand、def)
  11. logback为日志配置颜色
  12. js禁止退出当前页面
  13. Restlet Introduction
  14. 28.4 kvm介绍 28.5 Centos7上安装KVM 28.6 配置网卡 28.7 创建虚拟机安装CentOS7
  15. 台式计算机 如何组装,如何自行组装台式计算机?组装台式计算机主机的教程...
  16. elasticsearch中index.highlight.max_analyzed_offset设置
  17. 信道容量受哪三个要素_连续信道容量与
  18. 【uniapp微信小程序组件】大转盘抽奖组件
  19. Nvidia GeForce GTX 1650不支持OpenGL4.6
  20. 今日头条2018校招测试开发方向(第一、二、三、四批)编程题汇总 - 题解

热门文章

  1. java调用迅雷_java jna调用迅雷接口下载
  2. Outlook Express 收发邮件出现quot;0x800CCC0Fquot;错误代码解决方法
  3. 计算机软件与硬件相互制约吗,计算机软件与硬件介绍
  4. 2023年有效的rtsp,rtmp,hls流媒体测试地址整理汇总
  5. 串口硬盘如何使用ghost
  6. 合同诈骗罪中“一女多嫁”的诈骗认定
  7. Bootstrap栅栏布局
  8. 我对创业投资的一些体会看法
  9. C#实现简体繁体之间转换
  10. 推荐两个软件:网文快捕和MYIE(主要是用时随手记下的好处)