函数是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. 如何用Python快速抓取Google搜索?
  2. python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...
  3. android studio大坑 executing external native build for cmake
  4. web前端——html基础笔记 NO.12{css布局模型(流动,浮动,层模型)}
  5. 必须掌握的Cookie知识点在这里
  6. mybatis中的智能标签之二
  7. 环球网-王坚《在线》:用20万字讲清楚三个词
  8. ATL学习笔记〔一〕
  9. 5.报错:ImportError: No module named win32api
  10. 461. Hamming Distance【数学|位运算】
  11. linux环境安装Kafka最新版本 jdk1.8
  12. 将本地项目上传到码云(gitee)远程仓库
  13. C++基础——非类型模板参数
  14. 线性代数与MATLAB2
  15. 用python画奥特曼_你都用 Python 来做什么?
  16. rs485九针头_如何在开放源代码中移动针头
  17. javaScript打气球小游戏
  18. linux 7 开启远程桌面,CentOS 7 安装使用 VNC 远程桌面
  19. leetcode【中等】838、推多米诺
  20. 天津少儿编程培训班费用多少呢?值不值?

热门文章

  1. CS224n笔记二:word2vec
  2. 洛谷 [P1024]一元三次方程求解【二分答案】
  3. idea新建maven项目没有src目录
  4. redis使用watch完成秒杀抢购功能
  5. 为PHP设置服务器(Apache/Nginx)环境变量
  6. LeetCode204——count primes
  7. 时光已荏苒,我还怎么让你遇见最美年华里的我
  8. NGUI架构和Draw Call合并原理
  9. ((ios开发学习笔记 十))代码实现自定义TableView
  10. Hdu 1283 钱币兑换问题