Python19 lambda表达式

在 Python 中,lambda 表达式是一个小型匿名函数,通常用于实现简单、单行的函数。lambda 函数可以接受任意数量的参数,但只能有一个表达式。

基本语法:

复制代码
lambda arguments: expression

这里,arguments 是传递给 lambda 的参数,expression 是关于这些参数的表达式,它的计算结果就是 lambda 函数的返回值。

使用场景:

  • 快速定义小函数 :由于 lambda 表达式简洁,它经常被用在需要简单函数的地方,而不必正式定义一个函数。

  • 作为高阶函数的参数 :在 Python 中,像 map()filter()sorted() 这样的函数接受一个函数作为参数。lambda 表达式通常在这类用法中被用来提供一个小的、未命名的函数。

示例:

1.将两个数相加

复制代码
add = lambda x, y: x + y
print(add(5, 3))  # 输出: 8

2.排序列表 :使用 lambda 表达式作为 sort() 方法的 key 参数,这个 lambda 函数取每个元组的第二个元素(即 x[1])作为排序的依据。

复制代码
list1 = [('a', 2), ('c', 1), ('b', 3)]
list1.sort(key=lambda x: x[1])  # 按照元组的第二个数据进行排序
print(list1)  # 输出: [('c', 1), ('a', 2), ('b', 3)]

3.筛选列表filter() 函数接收两个参数:一个函数和一个可迭代对象。它会创建一个迭代器,包含所有使得函数返回 True 的原可迭代对象的元素。

复制代码
nums = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, nums))
print(evens)  # 输出: [2, 4, 6]

4.生成平方列表

复制代码
# 定义一个整数列表
numbers = [1, 2, 3, 4, 5]

# 使用 map 函数和 lambda 表达式来计算每个数的平方
squared_numbers = map(lambda x: x ** 2, numbers)

# 将结果转换为列表并打印
print(list(squared_numbers))  # 输出: [1, 4, 9, 16, 25]

lambda 表达式由于其限制(单一表达式,不能包含命令等),在复杂逻辑需要多个表达式或语句的场合,仍需定义标准的函数。


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

相关推荐
华科云商xiao徐6 分钟前
突破Python性能墙:关键模块C++化的爬虫优化指南
c++·爬虫·python
躲在云朵里`21 分钟前
常用Linux指令:Java/MySQL/Tomcat/Redis/Nginx运维指南
开发语言·python
小白狮ww1 小时前
蛋白质设计新高度,RFdiffusion 实现从零设计高亲和力蛋白质
人工智能·python·开源
星火飞码iFlyCode1 小时前
真实案例 | 如何用iFlyCode开发Webpack插件?
java·python·编辑器
三只熊猫1 小时前
一文打通 AI 知识脉络:大语言模型等关键内容详解
人工智能·python
Kyln.Wu1 小时前
【python实用小脚本-187】Python一键批量改PDF文字:拖进来秒出新文件——再也不用Acrobat来回导
python·pdf·c#
xnglan2 小时前
蓝桥杯手算题和杂题简易做法
数据结构·数据库·c++·python·算法·职场和发展·蓝桥杯
小徐敲java3 小时前
python-pycharm切换python各种版本的环境与安装python各种版本的环境(pypi轮子下载)
开发语言·python·pycharm
天才测试猿3 小时前
接口自动化测试难点:数据库验证解决方案
自动化测试·软件测试·数据库·python·测试工具·职场和发展·接口测试
java1234_小锋6 小时前
[免费]基于Python的影视数据可视化分析系统(Flask+echarts)【论文+源码+SQL脚本】
python·信息可视化·flask·python影视分析·python电影分析