lambda 使用详解

Python 中的 Lambda 使用介绍

在 Python 中,lambda 表达式是一种创建小型匿名函数的方法。与传统的 def 关键字创建函数不同,lambda 函数的语法更简洁。下面是对 lambda 表达式的详细介绍。

语法

lambda 参数: 表达式
  • 参数:可以有多个参数,用逗号分隔。

  • 表达式:是一个返回值的单行表达式。

示例

基本用法

创建一个简单的 lambda 函数来计算两个数的和:

sum = lambda a, b: a + b
print(sum(3, 5))  # 输出 8

filter 中使用

filter 函数用于过滤序列中的元素,返回由使函数返回 True 的元素组成的新列表。

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 输出 [2, 4, 6]

map 中使用

map 函数用于将指定函数应用于序列中的每一个元素,返回一个包含结果的新列表。

numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers)  # 输出 [1, 4, 9, 16, 25]

sorted 中使用

sorted 函数用于对序列进行排序,可以通过 key 参数指定一个函数来实现自定义排序。

students = [('Alice', 25), ('Bob', 20), ('Charlie', 23)]
sorted_students = sorted(students, key=lambda student: student[1])
print(sorted_students)  # 输出 [('Bob', 20), ('Charlie', 23), ('Alice', 25)]

注意事项

  • lambda 函数只能包含一个表达式,不能包含多个语句或复杂的逻辑。

  • lambda 函数常用于需要短小函数且不需要命名的场景。

总结

lambda 表达式在 Python 中提供了一种简洁的方式来创建小型匿名函数,适用于简单的操作和函数参数。通过结合使用 filtermapsorted 等函数,可以方便地对数据进行处理。

希望这些内容能够帮助你更好地理解和使用 Python 中的 lambda 表达式。如果有任何问题或需要进一步的解释,请随时提问!

Last updated