53 lines
1.5 KiB
Python
53 lines
1.5 KiB
Python
# Lambda函数,也称为匿名函数,是Python中一种轻量级、简洁的函数定义方式。与常规的def函数不同,Lambda函数没有名字,可以在需要短小函数的地方直接使用。
|
|
|
|
# 基本特点:
|
|
|
|
# 匿名性:Lambda函数没有函数名
|
|
# 简洁性:通常用于简单的单行表达式
|
|
# 临时性:适合临时使用的功能
|
|
# 函数式编程:与高阶函数配合使用
|
|
|
|
add = lambda x, y: x + y
|
|
print(add(1, 2))
|
|
|
|
square = lambda x: x**2
|
|
print(square(2))
|
|
|
|
# 应用
|
|
# 排序
|
|
words = ["apple", "banana", "cherry", "date", "elderberry"]
|
|
words.sort(key=lambda x: len(x))
|
|
print(words)
|
|
|
|
# 按字符创长度降序拍
|
|
words = ["apple", "banana", "cherry", "date", "elderberry"]
|
|
words.sort(key=lambda x: len(x), reverse=True)
|
|
print(words)
|
|
|
|
students = [
|
|
{"name": "Alice", "age": 20, "grade": 85},
|
|
{"name": "Bob", "age": 19, "grade": 92},
|
|
{"name": "Charlie", "age": 21, "grade": 78},
|
|
]
|
|
# 按年龄排序
|
|
students_by_age = sorted(students, key=lambda x: x["age"])
|
|
print(students_by_age)
|
|
# 按成绩排序
|
|
students_by_grade = sorted(students, key=lambda x: x["grade"], reverse=True)
|
|
print(students_by_grade)
|
|
|
|
|
|
# 在列表中使用lambda
|
|
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
|
squared_numbers = [(lambda x: x**2)(item) for item in numbers]
|
|
print(squared_numbers)
|
|
|
|
# 进行条件过滤
|
|
large_numbers = [num for num in numbers if (lambda x: x > 5)(num)]
|
|
print(large_numbers)
|
|
|
|
# 转大写
|
|
texts = ["hello", "world", "python", "programming"]
|
|
upper_texts = [(lambda x: x.upper())(w) for w in texts]
|
|
print(upper_texts)
|