15分钟学Python 第12天 : Lambda 表达式

Day 12: Lambda 表达式

1. Lambda 表达式概述

lambda 表达式是 Python 中用于创建匿名函数的一种简便方式。与传统的使用 def 关键字定义函数不同,lambda 可以在一行内定义简单的函数。这种特性使得 lambda 成为提高代码简洁性和可读性的一个有效工具。

2. Lambda 表达式的基本语法
lambda arguments: expression
  • arguments:输入参数,可以是多个,用逗号分隔。
  • expression:一个表达式,计算并返回该表达式的结果。
3. Lambda 表达式示例

示例代码 1:基本用法

# 定义一个简单的lambda函数
add = lambda x, y: x + y

result = add(5, 3)
print(result)  # 输出结果为 8

示例代码 2:与 filter() 函数结合使用

# 过滤出列表中的偶数
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))

print(even_numbers)  # 输出结果为 [2, 4, 6]

示例代码 3:与 map() 函数结合使用

# 将列表中的每个数平方
squared_numbers = list(map(lambda x: x ** 2, numbers))

print(squared_numbers)  # 输出结果为 [1, 4, 9, 16, 25, 36]
4. Lambda 表达式在排序中的应用

lambda 表达式常用于排序,尤其是复杂数据结构如列表中的字典。

示例代码 4:按字典项排序

data = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 30}]
# 按年龄排序
sorted_data = sorted(data, key=lambda x: x['age'])

print(sorted_data)  # 输出结果为 [{'name': 'Bob', 'age': 20}, {'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 30}]
5. Lambda 表达式的优缺点
优点缺点
语法简洁,易于书写不适合复杂逻辑的函数
可以内联使用可读性较差
适合短小的函数调试困难
6. Lambda 表达式的应用场景
  • 简单的数学计算:如加法、乘法。
  • 数据处理:使用 filter(), map(), reduce() 等函数。
  • 排序规则:在复杂数据结构中定义排序关键字。
  • 事件处理:在 GUI 编程中,使用匿名函数处理事件。
7. 运行流程图

以下是一个简单的运行流程图,展示 lambda 表达式的执行流程,假设我们使用 filter() 函数过滤偶数。

+--------------------------+
|         开始            |
+--------------------------+
          |
          v
+--------------------------+
|  定义一个 list 叫 numbers |
+--------------------------+
          |
          v
+----------------------------+
| 使用 filter() 和 lambda     |
+----------------------------+
          |
          v
+--------------------------+
|    检查每个元素是否为偶数 |
| (x % 2 == 0)            |
+--------------------------+
          |
          v
+--------------------------+
| 生成新的包含偶数的 list   |
+--------------------------+
          |
          v
+--------------------------+
|     打印结果            |
+--------------------------+
          |
          v
+--------------------------+
|         结束            |
+--------------------------+
8. 练习题

为了巩固对 lambda 表达式的理解,下面是几个练习题:

  1. 使用 lambdamap() 函数,创建一个将列表中的每个数加 10 的新列表。
  2. 编写一个函数,接受一个字符串列表,使用 lambda 表达式过滤出长度大于 3 的字符串。
  3. 结合 sorted()lambda,对包含元组的列表按第二个元素进行排序。
9. 总结

lambda 表达式在 Python 中为函数定义提供了一种简洁的方式。虽然 lambda 表达式可以提高代码的简洁性,但也不应过度使用,特别是在函数逻辑复杂的情况下。理解何时使用 lambda 是编写优秀 Python 代码的一个重要技能。

附加资源


在这里插入图片描述

怎么样今天的内容还满意吗?再次感谢观众老爷的观看。
最后,祝您早日实现财务自由,还请给个赞,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值