python 高阶函数定义(python高阶函数详解)
Python高阶函数1。map function map function,它接收两个参数,第一个参数是函数对象(当然也可以是lambda表达式),第二个参数是序列。
它能实现什么样的功能?我举个例子让你明白。
Map (lambda x: x * 2,[1,2,3,4,5]) [2,4,6,8,10]可以清晰的看到。它可以将以下序列中的每个元素作为参数,并将其传递给lambda。
当我们不不要使用map函数,你可以这样写。
我的列表=[] for I in [1,2,3,4,5]:我的列表。追加(I * 2) 2。过滤函数过滤函数,类似于贴图函数。它还接收两个参数,一个lambda表达式和一个序列。它将遍历以下序列中的每个元素,并将其作为参数传递给lambda表达式。当表达式返回True时,该元素将被保留,当表达式返回False时,该元素将被丢弃。
下面的例子将过滤掉列表中小于0的元素。
filter(lambda x:x ^ 0,range (-5,5)) [-5,-4,-3,-2,-1] 3。reduce function Reduce function,类似。它的作用是先对序列中的1、2号元素进行运算,然后将得到的结果与第三个数据用lambda函数进行运算,再将得到的结果与第四个元素进行运算,以此类推,直到不再有元素为止。
这里这是一个例子,你我会明白的。
Reduce (lambda x,y: x y,[1,2,3,4,5]) 15其运算过程分解如下。
1=33 3=66 4=1010 5=154.注意上面的函数,熟练掌握它们的写法,可以在一定程度上让我们的代码看起来更Pythonic化,更简洁。
如果你是新手,需要注意上面的例子都是在Python2.x环境下演示的。然而,在Python3.x中,情况有所不同。你可以自己试试。
这里总结如下:
首先,map和filter函数返回迭代器对象,而不是列表。以地图为例。
Map _ obj=集合中的map (lambda x: x * 2,[1,2,3,4,5])。ABC import iterator is instance(map _ obj,iterator)true next(map _ obj)2 list(map _ obj)[4,6,8,11
从functools导入减少审计福冈江
推荐阅读
- alfa romeo车标含义?(阿尔法罗密欧车标)
- 华为鸿蒙os如何操作 华为鸿蒙os2.0系统官网报名入口
- 14款沃尔沃s60l二手车能买吗?(沃尔沃s60为什么贬值厉害)
- power mp3 wma converter(mp3格式转换器)软件介绍(power mp3 wma converter(mp3格式转换器))
- 42岁李贞贤宣布平安生女,网友:歌声击退山贼的那个
- 热火朝天的高铁WiFi迟迟未到(5G能否破局)
- 华为手机性价比最高是哪几款2022? 华为哪款手机性价比高最值得入手
- 进口捷豹全部车型报价?(捷豹报价大全价格表)
- 韩庚江铠同疑相恋,两人同游马尔代夫遭曝光
- 八卦格字帖软件介绍(八卦格字帖)
- 虚拟机 操作系统(操作系统整合:虚拟机管理程序的下一步)
- 比亚迪f6参数配置?(比亚迪f6)
- 奥沙利文获世锦冠军,奥沙利文得了几次世锦赛冠军
- Evel Knievel手游游戏介绍(Evel Knievel手游)
- 索尼wi1000x拆解(SONYNZW-X1000系列高清拆解图集)
- 4座硬顶敞篷跑车都有哪几款?(4门4座硬顶敞篷车推荐)
- 艺术体操团体全能决赛,艺术体操团体全能决赛中国
- 工人物语6通用修改器游戏介绍(工人物语6通用修改器)
- 简述电机换向器的工作原理图(简述电机换向器的工作原理)
- Atheros-AR5007EG无线网卡驱动软件介绍(Atheros-AR5007EG无线网卡驱动)