Files
python/20-24/lianxi-Lambda.py
T
2026-05-06 11:21:42 +08:00

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)