python3 lambda函数
在Python中,lambda函数是一种简洁的、匿名的、单行的、只能包含一个表达式的函数,它可以接受任意数量的参数,但只能有一个表达式,lambda函数的语法如下:
(图片来源网络,侵删)
lambda 参数列表: 表达式
下面我们来详细讲解lambda函数的用法。
1、基本用法
lambda函数的基本用法是定义一个简单的函数,
add = lambda x, y: x + y print(add(1, 2)) # 输出:3
上述代码定义了一个lambda函数,接受两个参数x和y,返回它们的和,然后我们将这个lambda函数赋值给变量add,之后就可以像普通函数一样使用它。
2、使用lambda函数进行排序
lambda函数常常用于排序,例如对一个列表按照某个字段进行排序,假设我们有一个学生列表,每个学生是一个字典,包含姓名和分数两个字段,我们可以使用lambda函数对学生列表按照分数进行排序:
students = [ {"name": "张三", "score": 90}, {"name": "李四", "score": 80}, {"name": "王五", "score": 85} ] sorted_students = sorted(students, key=lambda x: x["score"]) print(sorted_students) 输出:[{'name': '李四', 'score': 80}, {'name': '王五', 'score': 85}, {'name': '张三', 'score': 90}]
上述代码中,我们使用lambda函数作为sorted函数的key参数,表示按照分数进行排序。
3、使用lambda函数进行映射
lambda函数还可以用于映射,例如将一个列表中的每个元素都乘以2:
numbers = [1, 2, 3, 4, 5] doubled_numbers = list(map(lambda x: x * 2, numbers)) print(doubled_numbers) # 输出:[2, 4, 6, 8, 10]
上述代码中,我们使用lambda函数作为map函数的第一个参数,表示将列表中的每个元素都乘以2。
4、使用lambda函数进行过滤
lambda函数还可以用于过滤,例如从一个列表中筛选出所有的偶数:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) print(even_numbers) # 输出:[2, 4, 6, 8]
上述代码中,我们使用lambda函数作为filter函数的第一个参数,表示筛选出所有的偶数。
总结一下,lambda函数在Python中是一个非常实用的工具,它可以帮助我们简化代码,提高代码的可读性和可维护性,在使用lambda函数时,我们需要关注它的参数列表和表达式,确保它们符合我们的需求,我们还需要学会将lambda函数与其他Python内置函数(如sorted、map、filter等)结合使用,以发挥其最大的作用。