Python教程18:Lambda函数与高阶函数
Python教程18:Lambda函数与高阶函数 “简洁是智慧的灵魂。” Lambda函数是Python中一种简洁的函数定义方式,配合map、filter等高阶函数,能让代码更加优雅。今天我们学习函数式编程的基础。 1. Lambda函数基础 什么是Lambda Lambda是匿名函数,用于简单的单行函数: 1# 普通函数 2def square(x): 3 return x ** 2 4 5# Lambda函数 6square_lambda = lambda x: x ** 2 7 8print(square(5)) # 25 9print(square_lambda(5)) # 25 语法 1lambda 参数: 表达式 只能有一个表达式 自动返回表达式的值 不需要return 可以有多个参数 1# 多个参数 2add = lambda x, y: x + y 3print(add(3, 5)) # 8 4 5# 无参数 6greet = lambda: "Hello!" 7print(greet()) # Hello! 8 9# 默认参数 10power = lambda x, n=2: x ** n 11print(power(3)) # 9 12print(power(3, 3)) # 27 2. Lambda的实际应用 排序 1# 按元组第二个元素排序 2students = [ 3 ("Alice", 85), 4 ("Bob", 92), 5 ("Charlie", 78) 6] 7 8# 使用lambda 9students.sorted(key=lambda x: x[1], reverse=True) 10print(students) 11# [('Bob', 92), ('Alice', 85), ('Charlie', 78)] 12 13# 字典排序 14scores = {"Alice": 85, "Bob": 92, "Charlie": 78} 15sorted_scores = dict(sorted(scores.items(), key=lambda x: x[1], reverse=True)) 条件判断 1# 三元表达式 2max_val = lambda a, b: a if a > b else b 3print(max_val(10, 20)) # 20 4 5# 复杂条件 6grade = lambda score: 'A' if score >= 90 else ('B' if score >= 80 else 'C') 7print(grade(85)) # B 3. 高阶函数 高阶函数是接受函数作为参数或返回函数的函数。 ...