Python Lambda函数使用总结详解
什么是Lambda函数
Lambda函数又称为匿名函数,是一种无需定义名称的小型函数,它可以被当作参数传递给其他函数。Lambda函数没有正式的函数声明和定义,它们是通过关键词 lambda 来定义的,并且通常在一行代码内完成。
Lambda函数在Python中可用于简化代码,减少代码的冗余性。
Lambda函数的语法
lambda arguments : expression
其中,arguments 是用于传递函数参数的部分,而 expression 是函数的返回值。
Lambda函数的应用
1. 将Lambda函数用于排序
我们可以将Lambda函数作为排序算法的 key 参数,以按照不同规则进行排序。
示例代码:
students = [('Tom', 18), ('John', 17), ('Alice', 21), ('Bob', 20)]
students.sort(key=lambda student: student[1]) # 按照年龄升序排序
print(students)
students.sort(key=lambda student: student[0]) # 按照名字升序排序
print(students)
输出结果:
[('John', 17), ('Tom', 18), ('Bob', 20), ('Alice', 21)]
[('Alice', 21), ('Bob', 20), ('John', 17), ('Tom', 18)]
2. 将Lambda函数用于列表、字典推导式
我们可以在列表、字典推导式中使用Lambda函数来过滤或转换序列中的元素。
示例代码:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda number: number % 2 == 0, numbers)) # 过滤偶数值
print(even_numbers)
squares = list(map(lambda number: number ** 2, numbers)) # 计算平方数
print(squares)
students = [{'name': 'Tom', 'age': 18},
{'name': 'John', 'age': 17},
{'name': 'Alice', 'age': 21},
{'name': 'Bob', 'age': 20}]
names = [student['name'] for student in students]
print(names)
ages = [student['age'] for student in students]
print(ages)
输出结果:
[2, 4, 6, 8, 10]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
['Tom', 'John', 'Alice', 'Bob']
[18, 17, 21, 20]
总结
本文介绍了Lambda函数的概念、语法和应用,包括将Lambda函数用于排序和列表、字典推导式。Lambda函数能够帮助我们简化代码,减少代码的冗余性,提高代码的可读性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python Lambda函数使用总结详解 - Python技术站