Python入门之高阶函数、内置高阶函数

python内置的四大高阶函数 把一个函数作用在一个序列上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算reduce(f,[x1,x2,x3,x4,x5])=f(f(f(x1,x2),x3),x4)map函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回True或False,最后将返回True的元素放到新列表中。['#马云','马化腾','李彦宏']... 阅读详情

一、高阶函数

(1)高阶函数的实参是一个函数名

(2)函数的返回值是一个函数

函数本身也可以赋值给变量,变量也可以指向函数

f = abs
print(f(-10))

传递的参数包括函数名

def fun(x,y,f):
    return f(x),f(y)
print(fun(-10,34,abs))

1. map()函数

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

(1)对于序列[ -1,3,-5,-2]的每个元素求绝对值

print(list(map(abs,[-1,3,-5,-2])))

(2)有10个2-7之间的随机数,对每个元素求阶乘


def jc(x):
    res = 1
    for i in range(1,x+1):
        res *= i
    return res
li = [random.randint(2,7) for i in range(10)]
print(li)
print(list(map(jc,li)))

(3)将字符串转化成列表类型

s = '1 3 5 7 9'
print(list(map(int,s.split())))

2. reduce函数

把一个函数作用在一个序列上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。也就是reduce(f,[x1,x2,x3,x4,x5]) = f(f(f(x1,x2),x3),x4)

from functools import reduce
def multi(x,y):
    return x*y
print(reduce(multi,range(1,5)))

3. filter过滤函数

接收一个函数一个序列,filter把传入的函数依次作用于每个元素,根据返回值是True还是False决定保留还是丢弃该元素

def isodd(num):
    if num % 2 == 0:
        return True
    else:
        return False
print(list(filter(isodd,range(1,101))))

4. sorted函数:排序函数

默认sort和sorted由小到大排序,reverse=True由大到小排序

li = [2,1,4,3]
li.sort()
print(li)
a = sorted(li,reverse=True)
print(a)

 

info = [
    ('apple1',200,32),
    ('apple2',40,12),
    ('apple3',40,2),
    ('apple4',1000,23),
    ('apple5',40,5),
]
print(sorted(info))
 
#按照商品数量进行排序
def sorted_by_count(x):
    return x[1]
 
#按照商品价格排序
def sorted_by_price(x):
    return x[2]
 
#先按照商品数量由小到大排序,如果商品数量一样,则按照商品价格由小到大排序
def sorted_by_count_price(x):
    return x[1],x[2]
 
print(sorted(info,key=sorted_by_count))
print(sorted(info,key=sorted_by_price))
print(sorted(info,key=sorted_by_count_price))

练习:给定一个整形数组, 将数组中所有的0移动到末尾, 非0项保持不变;在原始数组上进行移动操作, 勿创建新的数组;

输入:第一行是数组长度, 后续每一行是数组的一条记录,如 1 0 2 8 0 0 

输出:调整后数组的内容,输出结果为 1 2 8 0 0 0 


a = ''.join(input().split())
li = [int(i) for i in a]
def f(x):
    if x == 0:
        return 1
    else:
        return 0
print(sorted(li,key=f))

 

5. 匿名函数

关键字为lambda,冒号前面是形参,冒号后面是返回值

(1)使用匿名函数求和

from functools import reduce
print(reduce(lambda x,y:x+y,[1,2,3,4,5]))

 

(2)找出1-100之间的所有偶数

print(list(filter(lambda x:x%2==0,range(1,101))))

 (3)移动列表中的0到最后


 
  1. nums = [0, 7, 0, 1, 2, 1, 5,1, 7, 8, 0, 67, 1, 3, 4]

  2. print(sorted(nums,key=lambda x:1 if x == 0 else 0))

python系列【仅供参考】:python入门第十四节--装饰器 python入门第十四节--装饰器 阅读详情

相关推荐

虚拟机VirtualBox下载与安装、安装Ubuntu超详细图文步骤,对一些配置问题也有所写。

自己使用过两款虚拟机,相较于VMware虚拟机来说,virtuabox虚拟机所占内存更小,只有几十兆,且完全开源不收费,里面的功能与VMware基本差不多(在日常开发、学习使用完全够用)。最主要的是,在博主自己使用VMware时经常出错,而virtualbox就更稳定一些,所以这篇是针对virtualbox的安装与一些细节部分。

l1015649309的博客 4万+

Python 高阶函数

高阶函数 把函数作为参数传入,这样的函数成为高阶函数,高阶函数是函数式编程的体现。函数式编程就是指这种高度抽象的编程范式 高阶函数写法 在Python中,abs()函数可以完成对数字求绝对值。 round()函数可以完成对数字的四舍五入计算。 # 将两个数字先进行处理,再求和 # 1 、写法一 def AddNum(a, b): return abs(a) + abs(b) # 2 、写法二 def SumNumb(a, b, f): return f(a) + f(b) print

qq_40628769的博客 443

深度学习之常用算子介绍

打开 onnx 模型图,可以看到它是一个有向无环图。除了 Input、Output ,其他都是算子(是操作,而不是节点)在ONNX(Open Neural Network Exchange)模型中,除了输入和输出,其他都是算子(Operations)。算子是表示神经网络模型中的不同操作或层的元素。一个ONNX模型由一系列算子组成,通过连接这些算子来定义模型的计算流程。

ueke1的博客 8460

python中的高阶函数

@ 1 什么是高阶函数? 只要满足下面的任意一个条件就是高阶函数 1、一个函数的函数名作为参数传给另外一个函数 2、一个函数返回值(return)为另外一个函数(返回为自己,则为递归) 下面分别举例详细说明: 1.1 高阶函数:一个函数的函数名作为参数传给另外一个函数 def func(): print("定义一个普通函数") def high_level(func): ...

求真、务实 1万+

自动驾驶仿真(二)—— 基于PreScan与Simulink的联合仿真

自动驾驶仿真软件介绍二—— PreScan与Simulink联合仿真1. Prescan仿真软件2. Prescan与Simulink联合仿真2. 1 Prescan和matlab软件安装2. 2 联合仿真配置3. 联合仿真实例3.1 一辆不按法规行驶的小车3.2 另一辆的正常行驶的小车3.3 视觉辅助摄像机3.4 传感器检测4. 系列学习视频教程5. 参考学习的书目教材 上一篇博文简单介绍了Carsim与Simulink联合仿真,接着这篇就再继续简单介绍另一款自动驾驶仿真软件Prescan,并且简单做个P

zhudj08的博客 1万+

MIMIC数据库基本信息分析

一、MIMIC数据库中26张表介绍 数据库中一共有26张表,记录患者入院的各种信息,每张表的介绍如下所示。 表格名 信息 admission 患者基本信息,比如性别、种族、语言、宗教、婚姻、入院和出院时间、死亡时间等 callout 提供病人准备从ICU转出或者已经从ICU转出时相关信息 caregivers 记录医护人员信息(ID、类型、附加...

m0_37520426的博客 1万+

【Python】—— 高阶函数

高阶函数详解

m0_56069910的博客 1856

Win11 C盘瘦身终极指南:哪些能删/能移/不能碰?附详细目录清单

本文提供了一份详细的Win11 C盘瘦身终极指南,清晰区分了可安全删除、适合迁移以及绝对不能触碰的系统目录。文章不仅列出了具体的文件夹清单与操作建议,还介绍了使用符号链接和Robocopy进行安全迁移的高阶方法,并附带了自动化脚本,帮助用户从根本上解决C盘空间不足的问题,同时确保系统稳定。

weixin_29246195的博客 1546

高阶函数(Python)

初级高阶函数介绍

kiss_heng_better的博客 359

YOLOv13添加轻量化的EMA模块Faster_EMA,轻量又涨点!map50提升4.56个点,召回率提升9.66!

本文介绍了YOLOv13模型的优化移植方法,通过添加Faster_EMA模块和超参数调整,使模型性能显著提升。主要修改包括:1) 创建新的模型配置文件yolov13-Faster_EMA.yaml;2) 在tasks.py中添加新模块;3) 修改__init__.py和block.py文件,新增Partial_conv3和DropPath类。优化后模型mAP50提升4.56%,召回率提升9.66%,验证了改进方案的有效性。代码实现了局部卷积和随机深度等先进技术,为YOLO系列模型性能优化提供了新思路。

FJN110的博客 2605

S7-1200 PN与G120变频器控制起停及调速PROFINET实现详解

S7-1200 PLC与G120变频器通过PROFINET通信可实现高效、实时的电机控制。2. 《S7-1200与G120 CU250S-2PN的PROFINET通讯指南》- 控制器:S7-1200 PLC (如1214C DC/DC/DC)- 变频器:G120 CU250S-2PN (带PROFINET接口)- 输出区(PZD1-2):控制字(16位)、速度设定值(16位)- 输入区(PZD1-2):状态字(16位)、实际速度值(16位)- P922=1:选择报文类型为"标准报文1 (PZD2/2)"

电工 1867

python里常用的高阶函数

python里面的高阶函数

xiaoliu的博客 2836

2026年GESP3月认证C++五级真题解析

因为要合并成升序数组,所以当A[i]小于等于B[j]时,取A[i],否则取B[j]。当a[i]>a[j]时,左边数组中从i到m的所有元素都大于a[j],因此逆序对数量增加m-i+1。给定一个包含n个互不相同的正整数的数组A与一个包含m个互不相同的正整数的数组B,请你帮忙计算有多少个数在数组A与数组B中均出现。下面代码实现两个整数除法,其中被除数为一个“大整数”,用字符串表示,除数是一个小整数,用int表示,则横线处应该填写()。且a[i] > a[j],则a[i]和a[j]是一个逆序对。

lan_in的博客 120

Python入门之高阶函数与内置高阶函数(map、reduce、filter、sorted)

1 高阶函数 1.1 什么是高阶函数: 高阶函数指的是接受函数作为输入或输出的函数,即实参是一个函数名,函数的返回值是一个函数。Python中内置了几个常用的高阶函数,比如map( )函数、reduce( )函数、filter( )函数和sorted( )函数。 1.2 高阶函数的示例: #传递的参数包括函数名 def fun(x,y,f): return f(x),f(y) print...

ly2020_的博客 462

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

python入门第十二节--python内置高阶函数

Python内置了一些非常有用的高阶函数,这些函数可以接受其他函数作为参数或将函数作为返回值。

m0_68472237的博客 376

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【新人系列】Python 入门(十三):函数进阶

📣 专栏定位:为 0 基础刚入门 Python 的小伙伴提供详细的讲解,也欢迎大佬们一起交流~📚 专栏简介:在这个专栏,我将带着大家从 0 开始入门 Python 的学习。在这个 Python 的新人系列专栏下,将会总结 Python 入门基础的一些知识点,方便大家快速入门学习~

Newin2020的博客 1770

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Python入门学习笔记:Python函数

使用def 语句定义一个函数a语法# 函数体# 进行一些操作return result # 可选的返回值说明用于声明一个函数,告诉 Python 这是一个函数的定义。函数名,一个有效的标识符,规则和变量名一致。形参,可以是0 ~ n 个,参数之间用逗号分隔。定义函数执行的具体操作。指定函数的返回值,没有则返回None。return之后的代码不会执行。示例# 定义一个 lambda 函数,接收两个参数 a 和 b,返回它们的和​print(add(3, 5)) # 输出: 8。

PQI_JiXian的博客 1775

Python 核心语法与内置函数手册

int,包含正整数 / 负整数 / 0,支持任意长度,无溢出限制float3.145.2e3(等价 5200)bool,仅两个值TrueFalse,本质是int子类,True=1False=0,可参与数值运算str,不可变序列,单引号 / 双引号包裹单行,三引号"""..."""'''...'''包裹多行None,首字母必须大写,代表空对象,判断空必须用is None定义语法:python运行def 函数名(形参列表):'''函数文档注释'''函数体代码return 返回值。

Qq12141817的博客 1114

python中的高阶函数的定义及内置高阶函数

高阶函数介绍 普通函数中的参数是一种数据类型,比如列表,字符串,整型 高阶函数的实参是一个函数名,函数的返回值是一个函数。 例如在python中有一个函数是 abs 用来求整型的绝对值: 函数可以复制成一个变量。 def fun(x,y,f): return f(x),f(y) print(fun(-10,34,abs)) # f = abs 几个内置高阶函数 ma...

thermal_life的博客 1759

Python入门10:高阶函数

高阶函数是指接受函数作为参数或者返回函数作为结果的函数。它在函数式编程中是一个重要概念(函数式编程(Functional ProgrammingFP)是一 种编程范式,它将计算视为数学函的求值,并且避免使用可变数据结构和 改变状态的操作。函数式编程的核心思想是将函数作为程序的基本构建块, 强调不可变性和纯函数的使用)。

m0_74488469的博客 2055

Python内置的20个高阶函数的功能和示例详解

本文将介绍Python内置的20个高阶函数,包括它们的功能和示例代码,帮助大家更好地理解和应用这些强大的函数。

搞定过:百亿级数据、万级QPS、零宕机、AI工业化。 1324

python高阶函数 —— 内置高阶函数、返回值为函数、函数作为参数、闭包

文章目录一、什么是高阶函数?二、 python 内置高阶函数:map、filter、reduce、sort、sorted2.1、 filter() 过滤出符合条件的元素2.2、 map() 对所有元素做指定的操作2.3、 reduce() 合并2.4、 sort() 排序2.5、 sorted() 排序三、 闭包——也是高阶函数3.1、 形成闭包的必要条件 一、什么是高阶函数? 高阶函数:一个函...

猎人在吃肉 1260

Python 入门 之 高阶函数

Python 之 高阶函数 这篇文章是介绍Python 的高阶函数 高阶函数 编写高阶函数,就是让函数的参数能够接收别的函数。 变量可以指向函数 以 Python 内置的求绝对值的函数 abs() 为例 调用该函数:abs(-10) 什么是函数? 函数本身也可以赋值给变量, 即:变量可以指向函数,函数名其实就是指向函数的变量 print(abs(-1)) print(abs) ...

qq_44641053的博客 667

Python 常用内置高阶函数

本文系统介绍了Python中常用的高阶函数及其应用场景。高阶函数指可以接收或返回函数的函数,包括map()(批量转换)、filter()(数据筛选)、reduce()(归并计算)、zip()(多序列打包)、sort()/sorted()(排序)等基础函数,以及any()/all()(布尔判断)、enumerate()(带索引遍历)、lambda表达式(匿名函数)和functools.partial()(参数绑定)等实用工具。这些函数可以单独或组合使用,通过函数式编程风格简化数据处理流程,提高代码简洁性和可读

余子越的博客 1020

【Python】内置 高阶函数 及其详细说明和用法

在 Python 中,高阶函数是指接受函数作为参数或返回函数作为结果的函数。它们是函数式编程的核心,支持更简洁和灵活的代码。Python 提供了多个内置高阶函数,广泛用于数据处理、迭代和函数组合。以下是 Python 中常见的内置高阶函数及其详细说明和用法。 主要有:map、filter、sorted、reduce、max和min、any和all、zip、functools.partial、functools.lru_cache、itertools.starmap

彬彬侠的博客 1421

python内置高阶函数 zip_python内置的高阶函数

一、什么是高阶函数(1)、变量可以指向函数,对变量和函数的调用效果是一样的。 函数也是一个对象,在python中一切都是对象。 abs函数实现了__call__方法,所以 f = abs 调用是一样 (2)、函数名其实就是指向函数的变量。 函数名和普通变量没有区别,只是指向的是函数对象 通过上面的例子引出高阶函数的概念(3)高阶函数:能接受函数做参数的函数1)、变量可以指向函数 2)、...

weixin_35377249的博客 297
上一篇: Python入门之列表生成式、字典生成式
下一篇: Python入门之用字符串实现验证码
vanvan_
博客等级 码龄9年 106粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值