Python常用高阶函数

C++跨平台Word文档处理库DuckX实战指南:从原理到项目集成 在C++开发中,处理Office文档,尤其是Word文件,常因缺乏原生易用的库而面临挑战。Office Open XML(OOXML)作为.docx文件的基础标准,其本质是包含XML文件的ZIP压缩包。理解这一原理,开发者便能通过解析和操作XML来实现文档的读写。DuckX库正是基于此,为C++提供了轻量级的解决方案。它封装了底层的ZIP处理和XML解析,提供了简洁的面向对象API,其技术价值在于实现了跨平台、无外部依赖的Word文档自动化生成与处理。这尤其适用于服务器端、嵌入式环境或需要脱离Office软 阅读详情

高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。

为了便于理解,我们从实际例子来看看函数当做参数被传递到另个函数是什么样的。我们把abs()函数赋值给了f变量,接下来你就可以像使用abs()函数本身那样使用f变量了,区别只是换了个名字而已。

# 将求绝对值的abs函数赋值给f变量
f = abs
# f变量等同于abs函数的功能和性质,区别只是换了个别名
f(-123)

# 输出内容:
# 123

我们来查看下这个f变量的类型,显示为内置函数,因为它的真身就是内置abs()函数。

type(f)

# 输出内容:
# builtin_function_or_method

这说明变量可以指向函数,既然变量可以指向函数,而我们知道函数的参数可以接收变量。也就是说一个函数可以接收另一个函数作为参数,一起来看看下面这个例子。

def add_number(a, b, func_abs):
# 在本例中,等同于执行的是 return abs(a) + abs(b)
    return func_abs(a) + func_abs(b)

result = add_number(-10, -20, abs)
print(result)

# 输出内容:
# 30

如上,我们定义了一个add_number函数,然后定义了3个函数参数变量分别为a,b,func_abs。通过函数内部语句我们可以发现func_abs其实是另一个函数体内的函数,所以func_abs变量由于被调用的时候传值为abs函数,它的实际真身就是abs函数了。

好了,彻底明白高阶函数了,来看看Python中常用的几个高阶函数。

map()

map()是 Python 内置的高阶函数,它接收一个函数function 和一个 list,并通过把函数 function 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

这个例子中,假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,可以利用map()函数把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list。

def format_name(s):
    return s.capitalize()

result = map(format_name, ['adam', 'LISA', 'barT'])
print(list(result))

# 输出内容:
# ['Adam', 'Lisa', 'Bart']

如上要注意的一点是,由于结果result是一个Iterator,Iterator是惰性可迭代序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。

filter()

filter()接收一个函数function 和一个list,这个function 的作用是对list的每个元素进行判断,返回True或False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

下面的示例中,我们做的是把列表中包含字符E的元素取出来。

def is_contain_s(s):
    if 'E' in s:
        return True
    else:
        return False
    
result = filter(is_contain_s, ['sTEst', 'abc', 'str', ' ', 'END'])
print(list(result))

# 输出内容:
# ['sTEst', 'END']

reduce()

reduce()函数也接收一个函数function, 和一个list。但reduce()传入的函数必须接收两个参数,reduce()对list的每个元素反复调用函数function, 并返回最终结果值。

在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里, 要使用的话要 先引入from functools import reduce

from functools import reduce

def f(x, y):
    return x + y

result = reduce(f, [1, 3, 5, 7, 9])
print(result)

# 输出内容:
# 25

reduce()函数使用起来比较特殊,为了更好的理解上面这个例子,来详细拆解下,当调用reduce(f,[1,3,5,7,9])时,reduce函数将做如下计算:

由于f这个函数的功能是计算两个元素的值,所以先计算头两个元素:f(1,3),结果为4;

再把结果和第3个元素计算:f(4,5),结果为9;

再把结果和第4个元素计算:f(9,7),结果为16;

再把结果和第5个元素计算:f(16,9),结果为25;

由于没有更多的元素了,计算结束,返回结果25。

**reduce()**还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,如计算:

reduce(f, [1, 3, 5, 7, 9], 100)

结果将变为125,因为第一轮计算是:计算初始值和第一个元素:f(100, 1),结果为101。

DeepSeek R1-32B医疗大模型的完整微调实战分析(全码版) 【代码】DeepSeek R1-32B医疗大模型的完整微调实战指南(全码版) 阅读详情

相关推荐

【MMDetection3.0实战】从零构建自定义数据集训练流程

本文详细介绍了使用MMDetection3.0框架从零开始构建自定义目标检测数据集的完整训练流程。内容涵盖环境配置、COCO格式数据准备、核心代码改造、模型配置与训练策略调优,以及最终的模型测试与验证,帮助开发者快速上手并训练自己的检测模型。

l6m7n8的博客 313

Python之lambda函数(匿名函数)

一、定义 lambda函数即为匿名函数,所谓匿名,意即不再使用 def 语句这种标准的形式定义一个函数; 匿名函数的使用是为了提高代码的性能,调用匿名函数时可绕过函数的栈分配; 匿名函数常用来表示函数内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替; Python中使用lambda关键字创造匿名函数,其语法是: name = lambda [list] : expression表达式 解释:定义 lambda 表达式,必须使用

wxhjw507的博客 1万+

东方通TongWeb虚拟主机配置全流程:从创建到应用部署的保姆级教程

本文提供东方通TongWeb虚拟主机从创建、HTTP通道配置到应用部署的完整实战指南。重点解析虚拟主机的逻辑隔离价值、通道参数调优原理及企业级多应用部署架构,并涵盖常见报错排查与性能优化建议,旨在帮助运维和开发人员高效、稳定地完成应用系统部署。

oil88的博客 530

python中的高阶函数

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

求真、务实 1万+

避坑指南:Python模拟抖音扫码登录时,那些你可能会遇到的‘Referer’和‘Token’校验问题

本文深入解析Python模拟抖音扫码登录时常见的Referer校验与Token失效问题,提供五大陷阱的解决方案。从动态fp参数生成到Referer校验策略,再到Token生命周期管理,手把手教你破解抖音登录接口的反爬机制,助力开发者高效完成自动化登录。

weixin_42573113的博客 780

GD32F470实战:如何用EXMC+SDRAM为LVGL打造超大内存池(附完整配置代码)

本文详细介绍了如何利用GD32F470的EXMC接口与SDRAM深度整合,为LVGL构建高性能内存解决方案。通过硬件架构设计、EXMC接口配置、高级内存管理策略及LVGL性能优化技巧,开发者可以突破微控制器内存限制,实现高分辨率显示和复杂动画效果。附完整配置代码,助力嵌入式GUI开发。

rrr55的博客 546

【Python】—— 高阶函数

高阶函数详解

m0_56069910的博客 1856

QML实现ListView的拖动排序

现有一种需求,就是用鼠标拖动某项,动态去改变某一项在ListView中显示的顺序位置,经过研究及实践实战,实现方式的核心代码如下: import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Window 2.2 import QtQuick.Dialogs 1.2 Rectangle { width: 800 ...

草上爬的博客 7563

python里常用的高阶函数

python里面的高阶函数

xiaoliu的博客 2836

《拉依达的嵌入式\驱动面试宝典》—计算机硬件篇(一)

《拉依达的嵌入式\驱动面试宝典》 整合了所有我认为可能遇到的技术面试问题。所有问题及其答案均是我个人学习后查阅资料总结,每个回答都做了仔细的分析,在嵌入式及其驱动面试相关问题解析做到全网独一无二。学习或者转行到嵌入式、驱动开发领域学习的不二之选

拉依达不拉跨的博客 768

YOLOv11改进策略【卷积层】| ICCV-2023 引入Dynamic Snake Convolution动态蛇形卷积,改进C3k2

基于拓扑几何约束的动态蛇卷积用于管状结构分割DSConv(Dynamic Snake Convolution,动态蛇形卷积)模块的设计主要是为了更好地处理管状结构的分割任务,解决传统卷积在处理细管状结构时的不足。

Limiiiing的博客 1628

python学习之高阶函数

一、函数式编程 在Python中,函数是一等对象 - 一等对象一般都会具有如下特点: ① 对象是在运行时创建的 ② 能赋值给变量或作为数据结构中的元素 ③ 能作为参数传递 ④ 能作为返回值返回 就是将一个一个的功能通过函数来完成,python支持函数式编程,但python不是函数式编程语言。 二、什么是高阶函数 接收函数作为参数,或者将函数作为返回值的函数是高阶函数 当我们使用一个函数作为参数时,实际上是将指定的代码传递进了目标函数。 高阶函数至少要符合以下两个特点中的一个 ① 接收一个或多个

familyyan的博客 2386

TVBox源总失效?不如自己搭建一个!告别不稳定!手把手教你自建TVBox源,全网资源尽掌握!

🚀 TVBox源总失效?别慌!手把手教你自建TVBox源,打造一个稳定、海量、无广告的影视宝库!从此告别片荒,尽享丝滑观影体验!

XiaoqiangClub的博客 5443

Python 常用内置高阶函数

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

余子越的博客 1020

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【python常用的高阶函数】

filter函数会对序列中的每个元素依次调用function函数,将返回True的元素组成一个Filter类型对象输出。将归约函数function递归作用于序列sequence的每个元素,将结果与下一个元素一起作为function的输入,最终仅得到一个结果值。高阶函数是指接收函数作为参数或者返回值是一个函数的函数,是Python函数式编程的重要手段之一。map函数会对序列中的每个元素依次调用function函数,返回一个新的序列。1.概念:作用是对一个序列中的每个元素进行函数操作,返回一个新的序列。

qq_44723595的博客 387

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Python常用高阶函数全面解析:通俗易懂的指南

本文将用通俗易懂的方式,结合代码示例和图表,全面讲解Python高阶函数的各种知识点。请大家多评论交流技术

x15514104477的博客 1463

python 常用高阶函数

python常用高阶函数 常用高阶函数 zip函数 zip压缩:将多个可迭代对象对应索引的值组成一个元素,以最短的元素为准 zip解压:压缩的反向过程 代码演示 list2=[1,2,3] list3=[4,5,6,7] result=list(zip(list2,list3)) print(result) 输出: [(1, 4), (2, 5), (3, 6)] print(list(zip(*result))) 输出: [(1, 2, 3), (4, 5, 6)] enumerate(ite

weixin_54542209的博客 147

python list大小_4个python常用高阶函数的使用方法

1、mapPython内建了map()函数,map()函数接受两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每一个元素上,并把结果作为新的Iterator返回。举例说明,比如我们有一个函数f(x)=x*2,要把这个函数作用在一个list[1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现。map()传入的第一个参数是f,即函数对象本身。...

weixin_30495469的博客 152

Python中常用的高阶函数

python中常用的高阶函数:map( )、reduce( )、filter( )、sorted( ) map(function,Iterable) 返回值 返回的对象,放到一个新的迭代器中 def func(a,b): return a*b ret=map(func,[1,2,3,4,5],[1,2,3,4,5,6]) 以最少的Iterable 为准 print(list(ret)) 输出结果: [1,4,9,16,25] reduce(fanct

ZPeng_Yan的博客 1万+

Python之常用的高阶函数

高阶函数 变量可以指向函数,函数的参数可以接收变量,那么函数可以接收另一个函数作为参数,这种函数称为高阶函数 实参是一个函数名 函数的返回值是一个函数 f = abs print(f(-10)) 10 def fun(x,y,f): return f(x),f(y) print(fun(-10,34,abs)) (10, 34) map(): 接收两个参数,一个是函数 一个是序列 ma...

qq_36016375的博客 1060

python内置高阶函数_Python语言 常用的内置高阶函数

本文主要向大家介绍了Python语言 常用的内置高阶函数,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。map() 接收一个函数f和list,并通过吧函数作用在list的每个元素上,得到一个新的list并返回#!/usr/bin/env python# -*- coding:utf-8 -*-def f(x):return x*xli = map(f,[1,2,3,4,5])...

weixin_39613744的博客 78

python常用的三个高阶函数

python常用的三个高阶函数 map(func,list):将传入的函数变量func做到到list变量中的每一个元素中,并返回一个迭代器。 list1 = [1,2,3,4,5,6] def func(x): "返回二次方" return x**2 result = map(func,list1) print(result) # <map object at 0x000...> print(list(result)) # [1,4,9,...,36] reduce(func,l

LitraLIN的博客 321

列举5个python内置函数_详解python内置常用高阶函数(列出了5个常用的)

高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。python内置常用高阶函数:一、函数式编程•函数本身可以赋值给变量,赋值后变量为函数;•允许将函数本身作为参数传入另一个函数;•允许返回一个函数。1、map()函数是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 l...

weixin_42525189的博客 359

python list 排序_python中5个常用的内置高阶函数

python内置常用高阶函数:一、函数式编程函数本身可以赋值给变量,赋值后变量为函数;允许将函数本身作为参数传入另一个函数;允许返回一个函数。1、map()函数是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回2、reduce()函数reduce()函数也是Python内置的一个高阶函数。re...

weixin_39688035的博客 158

python高阶函数_python中5个常用的内置高阶函数的介绍(附代码)

本篇文章给大家带来的内容是关于python中5个常用的内置高阶函数的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。python内置常用高阶函数:一、函数式编程函数本身可以赋值给变量,赋值后变量为函数;允许将函数本身作为参数传入另一个函数;允许返回一个函数。1、map()函数是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次...

weixin_39602005的博客 109

Python常用的高阶函数

Python常用高阶函数(map、filter、reduce和sorted)介绍以及应用

卡卡的博客 380

python中常用的高阶函数

python中常用的高阶函数

wh的博客 240
上一篇: 理解Python中is 与 == 的区别
下一篇: @classmethod与@staticmethod区别
itanders
博客等级 码龄19年 178粉丝 177原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值