一文看懂Python(八)-----内置高阶函数用法总结
函数是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(八)-----内置高阶函数用法总结相关推荐
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
- python中的内置高阶函数
一. 内置高阶函数的类型 (一).内置高阶函数map """ map():接收两个参数,一个是函数 一个是序列 map将传入的函数依次作用到序列的每个元素,并且把结果作为 ...
- python内置高阶函数求导_Python——函数式编程、高阶函数和内置函数,及
Python--函数式编程.高阶函数及内置函数 函数式编程 一.不可变数据:不用变量保存状态不修改变量 二.第一类对象:函数即"变量" 1.函数名可以当做参数传递 2.返回值可以是 ...
- python内置高阶函数_map()函数~~内置的高阶函数
''' map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list, 并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如 ...
- python高阶函数filter_Python进阶系列连载(13)——Python内置高阶函数filter(上)...
前言 进阶部分连载继续~ 如果还没看过我的入门连载部分,先看: 当然,小编的免费入门课程已经有咯,看过连载的朋友可以看看视频再快速梳理一遍~ 前文传送门: filter filter是什么意思呢? 我 ...
- 【函数】一篇文章带你看懂控制流、递归、高阶函数
目录 控制流 条件语句 迭代语句 示例:质因数分解 递归 示例:阶乘 示例:斐波那契数列 示例:判断奇偶数 高阶函数 lambda 表达式 设计函数 示例:累加计算 示例:柯里化 Lab 1: Fun ...
- 【Python】Python四大内置高阶函数(map、reduce、filter、sorted)
一.map函数 描述:接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素.如果传入了多个iterable参数,function 必须接受相同个数的实参并被应用于从所有可迭 ...
- 一文看懂Python(九)-----可变参数函数
最近在自学Python,Python真是个好东西,两个字,简洁,原来用Java写n行语句才能实现的功能,Python可能几行就搞定了.言归正传,今天要说的是Python中可变参数的函数. 可变参数的功 ...
- Python——四大内置高阶函数(map、reduce、filter、sorted)
一.map函数 基本介绍: map():接收两个参数,一个是函数,一个是序列 map将传入的函数依次作用到序列的每个元素,并把结果 作为新的序列返回 代码块: #对于序列[-1,3,-5,-2]的每个 ...
最新文章
- monkey命令_何小伟:Monkey与MonkeyRunner区别
- 精灵盛典电脑模拟器服务器怎么修改,精灵盛典ios电脑版
- 机器学习常用激活函数
- fancybox关闭弹出窗体parent.$.fancybox.close();
- Linux下创建用户、切换用户、删除用户
- keras优化算法_自然场景文本识别(OCR),keras-yolo3-densenet-ocr
- 使用matlab内存不足,Matlab内存不足问题(Out of memory)
- Oracle物化视图的创建及使用(一
- 操作指令详解_爱码小士丨 APP稳定性测试(附视频详解)
- python是什么课程-教你python中什么是集合(一)
- 通过计划任务使FlashFXP在晚上自动下载备份
- django 实现同一个ip十分钟内只能注册一次
- mac 安装mysql 找不到_mac安装mysql遇到的坑
- 微信网页授获取code
- 安装服务器系统教程20180615
- 工程机械远程监控系统
- Shell 变量嵌套
- 分享|智慧环卫规划方案(附PDF)
- 做结构化怎样选择文档类型
- 学校计算机及班班通工作责任书,市北区qut班班通qut计算机管理使用规定细则.doc...