函数是Python的核心内容之一,能够提高代码的重复利用率。为了更好的使用函数,有必要了解函数的一些高级用法。

Python内置了三个高阶函数:所谓高阶函数就是以函数作为参数,或者返回一个函数的函数,这样的都成为高阶函数。

三个高阶函数:

一、map(f,sq)函数:

参数:

f:是一个函数

sq:是一个可迭代的对象,可以是list、字符串等。

作用:将函数f作用到sq的每一个元素上。

等价于:f(x) for x in sq

解释:map不会改变原有sq,而是会返回一个新的迭代器对象,也可以说是返回了一个map对象。

示例:

而将其转为list时,才会被正常输出。

二、filter(f,sq)函数 :

参数:

f:是一个函数

sq:是一个可迭代的对象,可以是list、字符串等。

作用:通过函数f来筛选sq中的元素。

等价于:x  for  x  in  sq  if  f(x)

解释:filter不会改变原有序列,而是返回一个新的迭代器对象。filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。

示例:

三、reduce(f,sq,init)函数:

参数:

f:一个支持二元操作的函数

sq:一个可迭代的序列

init:初始化值

作用:接受的是一个支持二元操作的函数f(x,y),实现对序列sq中的元素实现累加计算,并返回单一结果。

示例:

一文看懂Python(八)-----内置高阶函数用法总结相关推荐

  1. Python中匿名函数与内置高阶函数详解

    大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...

  2. python中的内置高阶函数

    一. 内置高阶函数的类型 (一).内置高阶函数map """ map():接收两个参数,一个是函数 一个是序列 map将传入的函数依次作用到序列的每个元素,并且把结果作为 ...

  3. python内置高阶函数求导_Python——函数式编程、高阶函数和内置函数,及

    Python--函数式编程.高阶函数及内置函数 函数式编程 一.不可变数据:不用变量保存状态不修改变量 二.第一类对象:函数即"变量" 1.函数名可以当做参数传递 2.返回值可以是 ...

  4. python内置高阶函数_map()函数~~内置的高阶函数

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

  5. python高阶函数filter_Python进阶系列连载(13)——Python内置高阶函数filter(上)...

    前言 进阶部分连载继续~ 如果还没看过我的入门连载部分,先看: 当然,小编的免费入门课程已经有咯,看过连载的朋友可以看看视频再快速梳理一遍~ 前文传送门: filter filter是什么意思呢? 我 ...

  6. 【函数】一篇文章带你看懂控制流、递归、高阶函数

    目录 控制流 条件语句 迭代语句 示例:质因数分解 递归 示例:阶乘 示例:斐波那契数列 示例:判断奇偶数 高阶函数 lambda 表达式 设计函数 示例:累加计算 示例:柯里化 Lab 1: Fun ...

  7. 【Python】Python四大内置高阶函数(map、reduce、filter、sorted)

    一.map函数 描述:接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素.如果传入了多个iterable参数,function 必须接受相同个数的实参并被应用于从所有可迭 ...

  8. 一文看懂Python(九)-----可变参数函数

    最近在自学Python,Python真是个好东西,两个字,简洁,原来用Java写n行语句才能实现的功能,Python可能几行就搞定了.言归正传,今天要说的是Python中可变参数的函数. 可变参数的功 ...

  9. Python——四大内置高阶函数(map、reduce、filter、sorted)

    一.map函数 基本介绍: map():接收两个参数,一个是函数,一个是序列 map将传入的函数依次作用到序列的每个元素,并把结果 作为新的序列返回 代码块: #对于序列[-1,3,-5,-2]的每个 ...

最新文章

  1. monkey命令_何小伟:Monkey与MonkeyRunner区别
  2. 精灵盛典电脑模拟器服务器怎么修改,精灵盛典ios电脑版
  3. 机器学习常用激活函数
  4. fancybox关闭弹出窗体parent.$.fancybox.close();
  5. Linux下创建用户、切换用户、删除用户
  6. keras优化算法_自然场景文本识别(OCR),keras-yolo3-densenet-ocr
  7. 使用matlab内存不足,Matlab内存不足问题(Out of memory)
  8. Oracle物化视图的创建及使用(一
  9. 操作指令详解_爱码小士丨 APP稳定性测试(附视频详解)
  10. python是什么课程-教你python中什么是集合(一)
  11. 通过计划任务使FlashFXP在晚上自动下载备份
  12. django 实现同一个ip十分钟内只能注册一次
  13. mac 安装mysql 找不到_mac安装mysql遇到的坑
  14. 微信网页授获取code
  15. 安装服务器系统教程20180615
  16. 工程机械远程监控系统
  17. Shell 变量嵌套
  18. 分享|智慧环卫规划方案(附PDF)
  19. 做结构化怎样选择文档类型
  20. 学校计算机及班班通工作责任书,市北区qut班班通qut计算机管理使用规定细则.doc...

热门文章

  1. Metail Design入门(一)
  2. hover与click样式冲突
  3. 巧用css text-indent减小中文标点符号的占位大小
  4. 项目经理怎么运用思维导图
  5. HTML Canvas
  6. Linux Network Administrators Guide
  7. C#笔记(二):委托与事件
  8. MATLAB中squeeze函数的作用
  9. Win10:tensorflow 学习笔记(1)
  10. [云炬创业基础笔记]第五章创业机会评估测试8