欢迎访问宙启技术站
智能推送

Lambda函数(匿名函数)的使用与例子

发布时间:2023-05-21 16:20:54

Lambda函数,也称为匿名函数,是一种在Python中定义函数的简写方式。与常规函数不同,Lambda函数没有名称和文档字符串,并且可以内联定义。Lambda函数通常用于一次性的任务,需要一个小的、无状态的函数(即不与外部数据互动)。

Lambda函数的语法如下:

lambda arg1, arg2, ... : expression

其中arg1、arg2等是Lambda函数的参数。expression是Lambda函数的执行语句。

下面是几个Lambda函数的例子:

1. 求平方

square = lambda x : x**2
print(square(5))  # 输出25

这个Lambda函数接受一个参数x,并返回x的平方。

2. 按字母顺序排序

fruits = ['apple', 'banana', 'orange', 'kiwi']
fruits.sort(key=lambda x: x[0])
print(fruits)  # 输出['apple', 'banana', 'kiwi', 'orange']

这个Lambda函数接受一个参数x,即每个水果,返回 个字母。水果按照 个字母的顺序排序。

3. 过滤奇数

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd_numbers = list(filter(lambda x: x % 2 == 1, numbers))
print(odd_numbers)  # 输出[1, 3, 5, 7, 9]

这个Lambda函数接受一个参数x,即每个数字,返回True或False表示是否是奇数。使用filter函数,保留奇数,去除偶数。

4. 矩阵加法

matrix1 = [[1, 2], [3, 4]]
matrix2 = [[5, 6], [7, 8]]
matrix_sum = list(map(lambda x, y: [x[i]+y[i] for i in range(len(x))], matrix1, matrix2))
print(matrix_sum)  # 输出[[6, 8], [10, 12]]

这个Lambda函数接受两个参数x和y,每个参数都是矩阵中的一行。返回一个新的列表,包含两个参数对应位置的元素相加的结果。

Lambda函数可以在许多情况下使用,例如对于简单的数学运算、命令式编程、数据建模、事件处理等等。它们的易用性和简便性使它们成为Python编程中强大的工具。