Python 高阶/map/reduce/filter/sorted函数
admin
2023-07-30 20:46:11
0

高阶函数:

变量可以指向函数,所以函数名也是变量,是变量就能作为参数传入另一函数中,这种参数中带有函数参数的函数就称为高阶函数。

我们应该都知道ads()函数是求绝对值的函数:如下所示的add()则是一个高阶函数


add()

map/reduce:

map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回,例如:计算每一元素的立方次幂


立方次幂

我们也可以使用map()函数,计算任意复杂度的函数,把定义好的函数与序列传入map()就可完成,方便简洁。

reduce把一个函数作用在一个序列[x1, x2, x3…]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。当函数是做加法运算时与sum()函数功能相同。但是reduce最主要的作用则依赖于所传入的函数。


函数fn()自己随意写的

map() 、reduce()结合使用:


map() 、reduce()结合使用

filter()函数:

filter()函数与map()类似,但filetr用于过滤序列,接收一个函数与一个序列,他把传入的函数一次作用于序列中的每一元素,且是通过返回值的True还是False决定保留还是丢弃该元素。


过滤留下符合条件得元素

sorted()函数:

sorted()函数也是一个高阶函数,它还可以接收一个比较函数来实现自定义的排序。

通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序。


倒序排序

默认情况下,对字符串排序,是按照ASCII的大小比较的,由于\’Z\’ < \’a\’,结果,大写字母Z会排在小写字母a的前面。


忽略大小写排序

上一篇:Python自学之2016.4.4

下一篇:pydoc用法简介

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...