Python26 Lambda表达式

图片

1.什么是lambda表达式

lambda 是 Python 中的一个关键字,用于定义简单的匿名函数。与 def 关键字定义的标准函数不同,lambda 函数主要用于需要一个函数对象作为参数的简短操作。lambda 函数的设计哲学是简洁,因此它只能包含一条表达式,而不能是复杂的代码块。

以下是 lambda 和 def 之间的一些主要区别:

  1. 匿名性

    • lambda 函数是匿名的,它们没有函数名

    • def 定义的函数有明确的名称

  2. 复杂性

    • lambda 函数只能包含一条表达式,不能有多个语句或复杂的控制流(如循环或条件判断)

    • def 定义的函数可以包含多条语句和复杂的控制流

  3. 用途

    • lambda 通常用于需要简单函数作为参数的场合,如 map()filter()sorted(), 或作为回调函数

    • def 用于定义任何类型的函数,无论其复杂性如何

  4. 语法

    • lambda 的语法是 lambda arguments: expression

    • def 的语法是 def function_name(arguments): 然后是函数体

例如,使用 lambda 定义一个计算两个数之和的匿名函数:

add = lambda x, y: x + y
print(add(3, 4))  # 输出 7

与使用 def 定义相同的函数:

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

print(add_with_def(3, 4))  # 输出 7

lambda 表达式的作用

  • lambda 表达式提供了一种在代码中快速定义小函数的方式,而无需为其命名或定义完整的函数体。

  • 它允许将函数作为其他函数的参数,或者作为数据结构(如列表或字典)中的元素进行传递。

  • 由于其简洁性,lambda 表达式特别适用于需要一行代码即可解决的简单任务。

由于 lambda 自身的限制,对于更复杂的任务,应该使用 def 来定义函数。

2.lambda表达式的使用

除上述用法外,lambda也可以定义在def函数中 。这里定义了一个action函数,返回了一个lambda表达式。其中lambda表达式获取到了上层def作用域的变量名x的值。a是action函数的返回值,a(22),即是调用了action返回的lambda表达式。

def action(x):
    return lambda y:x+y
a=action(6)
print(a(22))

# 输出:
'''
28
'''

也可以把def直接写成lambda形式。如下:

b=lambda x:lambda y:x+y
a=b(3)
a(2)

# 输出:
'''
5
'''

使用内置函数map()进行操作如下:

# 内置函数
# 1.map
# 遍历序列,对序列中每个元素进行操作,最终获取新的序列
li=[11,22,33]
new_list=map(lambda a:a+100,li)
for i in new_list:
    print(i)

# 输出:
'''
111
122
133
'''

使用内置函数filter()进行操作如下:

# 2.filter
# 对序列中的元素进行筛选,最终获取符合条件的序列
li=[11,22,33]
new_list=filter(lambda arg:arg>22,li)
for i in new_list:
    print(i)

# 输出:
'''
33
'''

以上内容总结自网络,如有帮助欢迎转发,我们下次再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/748843.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【投稿优惠|稳定检索】2024年文化传播、交流与考古学国际会议 (CCEA 2024)

2024年文化传播、交流与考古学国际会议 (CCEA 2024) 2024 International Conference on Cultural Communication, Exchange, and Archaeology 【重要信息】 大会地点:西安 官网地址:http://www.icccea.com 投稿邮箱:iccceasub-conf.com 【注…

Pytest+Allure+Yaml+Jenkins+Gitlab接口自动化中Jenkins配置

一、背景 Jenkins(本地宿主机搭建) 拉取GitLab(服务器)代码到在Jenkins工作空间本地运行并生成Allure测试报告 二、框架改动点 框架主运行程序需要先注释掉运行代码(可不改,如果运行报allure找不到就直接注释掉) …

人工神经网络是什么,其应用有哪些?

人工神经网络是什么,其应用有哪些? 当你阅读这篇文章时,你身体的哪个器官正在考虑它?当然是大脑!但是你知道大脑是如何工作的吗?嗯,它有神经元或神经细胞,它们是大脑和神经系统的主要…

检测故障电容器

去耦电容与旁路电容 “去耦电容”和“旁路电容”这两个术语经常互换使用,它们的功能重叠,容易造成混淆。实际上,它们的用途相似,但在电路中的应用可能会影响术语。 去耦电容 功能:去耦电容器主要用于通过为交流信号…

全面芯片外贸指南解密IC电子元器件商城网站搭建/制作/开发策略

电子元器件行业在数字化转型的大潮下正经历着前所未有的变革。传统销售渠道的局限性日益凸显,越来越多的企业和商家开始寻求线上突破,搭建自己的IC电子元器件商城网站成为提升市场竞争力的关键一步。本篇文章道合顺芯站点将详细阐述搭建IC电子元器件商城…

浏览器页面打不开(网络连接正常的情况下)

目录 一、代理被打开 二、DNS被篡改 三、网络配置出现问题 四、浏览器配置问题 一、代理被打开 1. 右击Wifi图标 2.点击“打开网络和internet设置” 3. 点击代理,把该窗口所有的东西都关闭,尤其是代理服务器 二、DNS被篡改 如果第一个方法不行&am…

00. 这里整理了最全的爬虫框架(Java + Python)

目录 1、前言 2、什么是网络爬虫 3、常见的爬虫框架 3.1、java框架 3.1.1、WebMagic 3.1.2、Jsoup 3.1.3、HttpClient 3.1.4、Crawler4j 3.1.5、HtmlUnit 3.1.6、Selenium 3.2、Python框架 3.2.1、Scrapy 3.2.2、BeautifulSoup Requests 3.2.3、Selenium 3.2.4…

解决 Pyecharts 在 jupyter Lab 上运行图片空白问题!

文章目录 🏳️‍🌈 1 提前声明 JUPYTER_LAB🏳️‍🌈 2 load_javascript()🏳️‍🌈 3 render_notebook()🏳️‍🌈 4 图示🏳️‍🌈 5 可视化项目源码…

十个常用的六西格玛统计工具及应用场景

六西格玛是一种质量改进方法,企业已经使用了几十年 - 因为它取得了成果。六西格玛项目遵循明确定义的一系列步骤,世界各国的每个行业的公司都使用这种方法来解决问题。 但是,六西格玛在很大程度上依赖于统计和数据分析,许多对质量…

气膜体育馆的安装流程—轻空间

随着人们对健康生活和高品质运动环境的追求,气膜体育馆因其独特的优点而逐渐受到青睐。轻空间将详细介绍气膜体育馆的安装流程,从实地勘测到检测,再到最终的清理现场,每一步都至关重要,确保体育馆的安全性和功能性。 一…

深入探究小型语言模型 (SLM)

使用 Microsoft Bing Image Creator 创建 大型语言模型 (LLM) 已经流行了一段时间。最近,小型语言模型 (SLM) 增强了我们处理和使用各种自然语言和编程语言的能力。但是,一些用户查询需要比在通用语言上训练的模型所能提供的更高的准确性和领域知识。此外…

EPLAN批量修改文字大小

在项目设计过程中,往往要批量调整文字的大小,如何批量修改文字大小: 点击需要调整的相同类的文字 右键 “属性”,然后在分配里找到“属性放置,设备标识符”这一栏 看下文字的属性在第几层 在项目数据找到层管理&…

【前端】HTML+CSS复习记录【2】

文章目录 前言一、img(图片标签)二、a(链接标签)三、ul(无序列表)四、ol(有序列表)系列文章目录 前言 长时间未使用HTML编程,前端知识感觉忘得差不多了。通过梳理知识点…

9 个让 Python 性能更高的小技巧,你掌握了吗?

我们经常听到 “Python 太慢了”,“Python 性能不行”这样的观点。但是,只要掌握一些编程技巧,就能大幅提升 Python 的运行速度。 今天就让我们一起来看下让 Python 性能更高的 9 个小技巧 python学习资料分享(无偿)…

人力资源成熟度模型的应用

由于各子(分)公司的业务相同,该电力总公司人力资源部收归了下属单位的人事招聘权、调配权以及考评权,期望通过集权对下属人力资源部实施过程管控,现实结果证明,这种集权并不能达到该电力公司的人力资源管理…

Web浏览器读写NFC Ntag标签

本示例使用的发卡器&#xff1a;RS232串口USB转COM读写器IC卡发卡器WEB浏览器二次开发JS编程SDK-淘宝网 (taobao.com) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&g…

Nginx常见的基本配置(全网最详细!!!)

&#x1fa81;Nginx常用命令 &#x1f3a8;Nginx正向代理 &#x1f94f;Nginx反向代理 &#x1f52e;Nginx负载均衡 &#x1f381;Nginx基本配置详解 ## # 全局配置 ##user www-data; ## 配置 worker 进程的用户和组 worker_processes auto; ## 配置 worke…

台球厅助教软件开发台球陪练系统源码助教陪练行业市场分析

市场分析 随着台球运动的普及和竞技水平的不断提升&#xff0c;台球助教市场也逐渐成为了一个备受关注的领域。然而&#xff0c;如何高效、规范地管理这一市场&#xff0c;确保助教质量&#xff0c;提升用户体验&#xff0c;成为了摆在我们面前的一大挑战。幸运的是&#xff0…

网络安全 DVWA通关指南 Cross Site Request Forgery (CSRF)

DVWA Cross Site Request Forgery (CSRF) 文章目录 DVWA Cross Site Request Forgery (CSRF)DVWA Low 级别 CSRFDVWA Medium 级别 CSRFDVWA High 级别 CSRFDVWA Impossible 级别 CSRF CSRF是跨站请求伪造攻击&#xff0c;由客户端发起&#xff0c;是由于没有在执行关键操作时&a…

【数据分析】重仓白酒的资金,流向哪里?

内容提要 更多重仓白酒的资金向红利&#xff08;主要是银行少量的石油石化&#xff09;调仓&#xff0c;有较少部分向通信和电子调仓&#xff08;尤其是消费电子&#xff09;&#xff0c;对出海的调仓目前看并不清晰。 文章正文 近期白酒板块跌幅较大&#xff0c;催化因素在…