Python5个内建高阶函数的使用 | 您所在的位置:网站首页 › python查看模块函数用法 › Python5个内建高阶函数的使用 |
本文结合各种实际的例子详细讲解了Python5个内建高阶函数的使用,能够帮助理解Python的数据结构和提高数据处理的效率,这5个函数分别是: map reduce filter sorted/sort zip
一、map 1.1 语法 map函数的基本语法是map(func, seq),其含义指的是:对后面可迭代序列中的每个元素执行前面的函数func的功能,最终获取到一个新的序列。注意: Python2中直接返回的是一个列表 Python3中返回的是一个可迭代器,如果想返回列表,可以使用list()进行处理
help(map) # 查看帮助信息
1.2 demo 通过举例说明map函数的使用方法 使用Python内置函数
使用自定义函数
使用匿名函数lambda 使用匿名函数的时候可以有多个参数
二、reduce 2.1 语法 reduce函数的定义:
reduce(function, sequence [, initial] ) -> value
reduce依次从sequence中取一个元素,和上一次调用function的结果做参数,再次调用function。 “ 第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence的第一个数 ” 2.2 使用 Python3中已将reduce函数移到functools模块中,需要先进行导入:
from functools import reduce # 导入help(reduce) # 查看帮助文档
上面的例子我们通过一个图形来解释说明:
2.3 demo 使用自定义函数
使用匿名函数lambda
image-20201024185550970 一个复杂的例子
具体过程为:
1.1*2+1=3 2.3*3+1=10# 第一个3为上面的结果3,第2个原始数据中的3 3.10*4+1=41
带有初始值的例子 初始化值和序列中的第一个值执行func函数,将得到的结果作为下次的起始值
# 具体过程解释为 1.6+1=7 2.7+2=9 3.9+3=12 4.12+4=16 5.16+5=21
三、filter 3.1 语法 filter()函数用于过滤序列,过滤掉不符合条件的那些元素,返回符合条件的元素组成新列表。 序列中的每个元素作为参数传递给函数进行判断,返回True或者False,最后将返回True的元素放到新列表中。 filter()语法如下:
filter(function, iterable) # 前者为函数,后者为待执行的序列
3.2 demo
help(filter) # 帮助文档
使用自定义函数 返回10以内的偶数
使用匿名函数lambda
对字符串的筛选 选择符合指定要求的字符串
四、sorted 4.1 语法
sorted(iterable, key=None, reverse=False)
4.2 3个参数 sorted()接受3个参数,返回的是一个排序后的列表 可迭代对象iterable reverse=False,接受一个布尔值,选择是否反转排序结果,默认是False 接受一个回调函数key=None,回调函数只能有一个参数,根据函数的返回值进行排序 4.3 demo
help(sorted) # 帮助文档
默认不反转
对元组、range对象、字典的排序
4.4 结果反转 结果反转的意义就是将结果降序排列,因为原本默认是升序的,使用的是reverse=True
4.5 理解key key参数的作用是我们自定义一个函数,然后通过将序列中的元素作用于函数之后再进行排序 在这里我们使用绝对值函数
4.6 对比sort() sort()方法只能对原列表list进行排序,参数和sorted是相同的 结果是将原来的列表直接原地修改,而sorted 是生成新的列表,二者是不同的
五、zip zip()是Python中一个非常重要的方法,能够快速的实现很多功能。 5.1 语法
zip([iterable,...]) # iterable是一个或者多个可迭代器
函数执行的结果在Python3中返回的是一个zip对象,如果需要展示成列表的形式,直接使用list方法展开;展开的结果是列表中嵌套元组的形式 在Python2中直接返回的是元组列表形式
help(zip) # 查看文档
5.2 zip接受一个序列 zip中可以接受列表、元组、字符串等形式
zip接受空列表的形式,返回的仍空列表
5.3 zip接受多个序列
同时对不同类型的序列进行合并
5.4 处理长度不同 当多个序列同时存在,取长度最小的那个序列的长度
5.5 zip(*iterables) 我们一般认为该方法是zip的反过程,是一个unzip的过程,举例说明其使用:
5.6 复杂例子 下面看一个更为复杂的例子
这个例子的解释为: [x]是一个列表中含有列表,x本身就是一个列表 [x]*3结果为[x,x,x],实际上也是[[4,5,6],[4,5,6],[4,5,6]] [*[x]*3]的结果则为[(4,4,4),(5,5,5),(6,6,6)] 5.7 zip运用 下面通过zip的实际例子来说明它的应用: 列表求和
数据合并
字典的key-value转换 for循环实现:
使用zip实现:
责任编辑:lq
原文标题:Python 高阶函数使用总结 文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。 收藏 人收藏扫一扫,分享给好友 复制链接分享 评论发布评论请先 登录 相关推荐 C语言有哪些语法技巧和功能 C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非.... strongerHuang 发表于 03-10 17:42 • 627次 阅读 python花式导包的八种方法 python花式导包的八种方法1. 直接 import人尽皆知的方法,直接导入即可 [code]>>> import os >>> os.getcwd() '/home/xxx'[/c... 发表于 03-10 16:51 • 511次 阅读 python花式导包的八种方法 python花式导包的八种方法 1. 直接 import 人尽皆知的方法,直接导入即可 import.... python爬虫知识分享 发表于 03-10 16:48 • 114次 阅读 python安装第三方包的八种方法 python安装第三方包的八种方法1. 使用 easy_installeasy_install 这应该是最古老的包安装方式了,目前基本没有人使用了。下面是 ... 发表于 03-10 16:29 • 780次 阅读 python安装第三方包的八种方法 python安装第三方包的八种方法 1. 使用 easy_install easy_install .... python爬虫知识分享 发表于 03-10 16:27 • 106次 阅读 今天咱们用Python整一个超级玛丽游戏 | 附带源码 开发环境Python版本:3.7.8相关模块:requests模块;tqdm模块;pyfreeproxy模块;pyecharts模块;以及一些python自带的模块。... 发表于 03-10 14:26 • 222次 阅读 如何在RK3288上安装Opencv? 如何在RK3288上安装Opencv? 发表于 03-10 06:49 • 38次 阅读 使用GoRK3288库的时候需要用到的语法有哪些呢 使用GoRK3288库的时候需要用到的语法有哪些呢?... 发表于 03-10 06:49 • 32次 阅读 如何才能在RV1109平台上编写基于USB Camera的demo程序? 如何才能在RV1109平台上编写基于USB Camera的demo程序?... 发表于 03-10 06:15 • 42次 阅读 C语言简单模拟委托与简单模拟反射 函数是C语言的核心概念。主调函数(caller)调用被调函数(callee)是一般的调用关系,如果被.... 硬件攻城狮 发表于 03-09 17:17 • 729次 阅读 什么是python包、模块和库? 1. 模块以 .py 为后缀的文件,我们称之为 模块,英文名 Module。 模块让你能够有逻辑地组织你的 Python 代码段,把相关的代码... 发表于 03-09 16:48 • 405次 阅读 python包、模块和库是什么 1. 模块 以 .py 为后缀的文件,我们称之为 模块,英文名 Module。 模块让你能够有逻辑地.... python爬虫知识分享 发表于 03-09 16:47 • 147次 阅读 python类的多态和类的property属性 python类的多态多态,是指在同一类型下的不同形态。 比如下面这段代码 [code]class People: def speak(self):... 发表于 03-09 16:38 • 431次 阅读 python类的多态和类的property属性 python类的多态 多态,是指在同一类型下的不同形态。 比如下面这段代码 class People.... python爬虫知识分享 发表于 03-09 16:37 • 129次 阅读 用Python学习科学编程 用Python学习科学编程,Python经典教材。 发表于 03-09 15:00 • 6次 阅读 VMA和LMA的基本概念简介与常见问题解析 VMA和LMA的基本概念与常见问题解答 摘要:本文介绍VMA和LMA的基本概念,并针对一些理解过程中的常见疑问做出解... 发表于 03-09 06:45 • 117次 阅读 怎样在debian下安装python3+pymssql呢 怎样在debian下安装python3+pymssql呢?有哪些安装步骤?... 发表于 03-09 06:32 • 59次 阅读 python类的继承详解 python类的继承 类的继承,跟人类繁衍的关系相似。 被继承的类称为基类(也叫做父类),继承而得的.... python爬虫知识分享 发表于 03-08 16:40 • 297次 阅读 python私有变量和私有方法 python私有变量和私有方法 1. 下划线妙用 在 Python 中,下划线可是非常推荐使用的符号.... python爬虫知识分享 发表于 03-08 16:30 • 345次 阅读 一文详细了解量子密码 被喻为“重要数据保险箱”的安全芯片已经渗入人们生活的方方面面。随着5G、物联网、车联网的迅速发展,为.... 上海航芯 发表于 03-08 10:32 • 241次 阅读 python静态方法与类方法 python静态方法与类方法 1. 写法上的差异 类的方法可以分为: 静态方法:有 staticme.... python爬虫知识分享 发表于 03-07 16:56 • 366次 阅读 python类的理解与使用 python类的理解与使用 1. 通俗理解类 类(英文名 class),是具有相同特性(属性)和行为.... python爬虫知识分享 发表于 03-07 16:51 • 356次 阅读 HF、HNO3和H2O体系中硅的化学刻蚀实验 本文研究了HF、HNO3和H2O体系中硅的蚀刻动力学作为蚀刻剂组成的函数。蚀刻速率与蚀刻剂组成的三轴.... 发表于 03-07 15:27 • 6次 阅读 python如何捕获异常和主动抛出异常 python如何主动抛出异常和捕获异常 1. 如何抛出异常? 异常的产生有两种来源: 一种是程序自动.... python爬虫知识分享 发表于 03-04 17:09 • 638次 阅读 Python中有哪些常见的错误和异常 python常见异常类型 在程序运行过程中,总会遇到各种各样的问题和错误。 有些错误是我们编写代码时.... python爬虫知识分享 发表于 03-04 16:58 • 645次 阅读 python变量的作用域 python变量的作用域 1. 作用域 Python的作用域可以分为四种: L (Local) 局部.... python爬虫知识分享 发表于 03-03 16:50 • 379次 阅读 python偏函数和泛型函数详解 python偏函数 假如一个函数定义了多个位置参数,那你每次调用时,都需要把这些个参数一个一个地传递.... python爬虫知识分享 发表于 03-03 16:43 • 391次 阅读 python高阶函数详解 python高阶函数 1. map 函数 map 函数,它接收两个参数,第一个参数是一个函数对象(当.... python爬虫知识分享 发表于 03-02 16:47 • 163次 阅读 python匿名函数的使用 python匿名函数的使用 匿名函数(英语:anonymous function)是指一类无需定义标.... python爬虫知识分享 发表于 03-02 16:42 • 156次 阅读 三星电子开发PM1743高性能PCIe 5.0 SSD 罗德与施瓦茨利用R;S TS-RRM-NR测试系统验证首个5G RRM FR2 2xAoA 在MWC 22巴塞罗那期间,华为轮值董事长郭平在线发表了题为《向上,点亮未来》的主题演讲。当今世界面.... 发表于 03-02 10:44 • 34次 阅读 11个案例讲解python函数参数 函数,在定义的时候,可以有参数的,也可以没有参数。 python爬虫知识分享 发表于 03-01 16:39 • 221次 阅读 详解python普通函数创建与调用 函数是一种仅在调用时运行的代码块。您可以将数据(称为参数)传递到函数中,然后由函数可以把数据作为结果.... python爬虫知识分享 发表于 03-01 16:32 • 216次 阅读 python推导式是什么 python推导式 推导式(英文名:comprehensions),也叫解析式,是Python的一种.... python爬虫知识分享 发表于 02-28 17:13 • 179次 阅读 python while循环详解 python while循环 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处.... python爬虫知识分享 发表于 02-28 16:39 • 157次 阅读 《深入Python3》中文版pdf 《深入Python3》中文版pdf 发表于 02-28 09:45 • 22次 阅读 《Dive Into Python》中文翻译版.pdf 《Dive Into Python》中文翻译版.pdf 发表于 02-25 17:22 • 23次 阅读 python for循环的案例说明 python for循环 for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。 它的基本语.... python爬虫知识分享 发表于 02-25 16:27 • 203次 阅读 python判断语句的详细说明 python判断语句:if 1. 简单小例子 如果满足条件 A,则执行代码块 a,否则执行代码块 b.... python爬虫知识分享 发表于 02-25 16:22 • 208次 阅读 python生成器是什么 python生成器 1. 什么是生成器? 生成器(英文名 Generator ),是一个可以像迭代器.... python爬虫知识分享 发表于 02-24 15:53 • 219次 阅读 python迭代器详解 python迭代器 1. 可迭代对象 可以利用 for 循环的对象,都叫可迭代对象。 列表、元组、字.... python爬虫知识分享 发表于 02-24 15:42 • 189次 阅读 初学者学Python必看的几个练手小项目 Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python.... 叶枫架构师 发表于 02-23 17:06 • 279次 阅读 4个Python经典项目实战,练手必备! Python是一种极具可读性和通用性的编程语言。Python这个名字的灵感来自于英国喜剧团体Mont.... 叶枫架构师 发表于 02-23 17:06 • 261次 阅读 python集合是什么 python集合 集合(英文名 set),它是一个无序的不重复元素序列。 这里面有两个重点: 无序,.... python爬虫知识分享 发表于 02-23 17:01 • 250次 阅读 python字典是什么 python字典 字典(英文名 dict),它是由一系列的键值(key-value)对组合而成的数据.... python爬虫知识分享 发表于 02-23 16:54 • 225次 阅读 python元组的详细介绍 python元组 元组(英文名 tuple),和列表非常的相似,它也是由一系列元素按顺序进行排列而成.... python爬虫知识分享 发表于 02-22 15:19 • 144次 阅读 python列表的详细介绍 python列表 列表(英文名 list),是由一系列元素按顺序进行排列而成的容器。 这里面有两个重.... python爬虫知识分享 发表于 02-22 15:14 • 151次 阅读 python cookbook(第三版)免费下载 python cookbook(第三版)免费下载。 发表于 02-22 13:57 • 43次 阅读 python运算符是什么 python运算符 0. 什么是运算符? 本章节主要说明Python的运算符。举个简单的例子 4 +.... python爬虫知识分享 发表于 02-21 16:44 • 187次 阅读 python字符串格式化 python字符串格式化 格式化输出,主要有三种方式 使用 % 进行格式化 使用 format 函数.... python爬虫知识分享 发表于 02-21 16:28 • 165次 阅读 python输入与输出详解 python输入与输出 无论是从我们一开始的“hello world”,还是前面章节的里各种例子,基.... python爬虫知识分享 发表于 02-21 16:18 • 205次 阅读 python布尔值是什么 python布尔值 1. 什么是布尔值 但在Python语言中,布尔类型只有两个值 True :表示.... python爬虫知识分享 发表于 02-21 16:10 • 176次 阅读 python整数与浮点数分解 2.3 python整数与浮点数 Python 支持的数字类型有三种:整数、浮点数和复数。 1. 整.... python爬虫知识分享 发表于 02-18 09:09 • 273次 阅读 2.2 python字符串类型 2.2 python字符串类型 1. 如何定义字符串? 字符串是Python中最常用的数据类型之一。.... python爬虫知识分享 发表于 02-17 17:08 • 175次 阅读 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |