# @Date : 2026年7月3日# @Author : xfanonymous# @Description: lambda 匿名函数的定义和使用# lambda 参数列表: 表达式# 只能有一个表达式,结果自动return,适用于: 短小、一次性、作为高阶函数参数的场景# ========== 1. 基础形式: 单参数 ==========double = lambda x: x * 2# ========== 2. 多参数 ==========add = lambda x, y: x + y# ========== 3. 带默认参数 ==========add_base = lambda x, base=10: x + base# ========== 4. 条件表达式(三元) ==========pos = lambda x: x if x > 0 else 0# ========== 5. 无参数 ==========get_pi = lambda: 3.14if __name__ == "__main__":print("【1. 基础形式: 单参数】")print(" double = lambda x: x * 2")print(" double(5) =", double(5))print(" double(0.5) =", double(0.5))print("\n【2. 多参数】")print(" add = lambda x, y: x + y")print(" add(2, 3) =", add(2, 3))print(" add(2, 3) 位置传参 / add(x=2, y=3) 关键字传参 =", add(x=2, y=3))print("\n【3. 带默认参数】")print(" add_base = lambda x, base=10: x + base")print(" add_base(5) =", add_base(5)) # 用默认 base=10print(" add_base(5, base=100)=", add_base(5, base=100)) # 覆盖默认print("\n【4. 条件表达式(三元)】")print(" pos = lambda x: x if x > 0 else 0")print(" pos(8) =", pos(8))print(" pos(-3) =", pos(-3))print("\n【5. 无参数】")print(" get_pi = lambda: 3.14")print(" get_pi() =", get_pi())print("\n【6. 最常用: 作为高阶函数参数(一次性使用, 不赋名)】")# 6.1 sorted 的 keynums = [3, 1, 2]print(" sorted([3,1,2]) =", sorted(nums))print(" sorted([3,1,2], key=lambda x: -x) =", sorted(nums, key=lambda x: -x)) # 降序# 6.2 按字典某个键排序users = [{"name": "tom", "age": 20}, {"name": "amy", "age": 18}]print(" users 按age升序 =", sorted(users, key=lambda u: u["age"]))# 6.3 map: 对每个元素应用函数print(" list(map(lambda x: x * 10, [1, 2, 3])) =", list(map(lambda x: x * 10, [1, 2, 3])))# 6.4 filter: 过滤print(" list(filter(lambda x: x % 2 == 0, [1,2,3,4,5,6])) =", list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6])))# 6.5 reduce: 累积from functools import reduceprint(" reduce(lambda a, b: a + b, [1,2,3,4]) =", reduce(lambda a, b: a + b, [1, 2, 3, 4]))print('\n【7. 作为"策略"存在数据结构中】')ops = {"add": lambda a, b: a + b,"sub": lambda a, b: a - b,"mul": lambda a, b: a * b,}print(" ops['add'](2, 3) =", ops["add"](2, 3))print(" ops['mul'](2, 3) =", ops["mul"](2, 3))# 【1. 基础形式: 单参数】# double = lambda x: x * 2# double(5) = 10# double(0.5) = 1.0## 【2. 多参数】# add = lambda x, y: x + y# add(2, 3) = 5# add(2, 3) 位置传参 / add(x=2, y=3) 关键字传参 = 5## 【3. 带默认参数】# add_base = lambda x, base=10: x + base# add_base(5) = 15# add_base(5, base=100)= 105## 【4. 条件表达式(三元)】# pos = lambda x: x if x > 0 else 0# pos(8) = 8# pos(-3) = 0## 【5. 无参数】# get_pi = lambda: 3.14# get_pi() = 3.14## 【6. 最常用: 作为高阶函数参数(一次性使用, 不赋名)】# sorted([3,1,2]) = [1, 2, 3]# sorted([3,1,2], key=lambda x: -x) = [3, 2, 1]# users 按age升序 = [{'name': 'amy', 'age': 18}, {'name': 'tom', 'age': 20}]# list(map(lambda x: x * 10, [1, 2, 3])) = [10, 20, 30]# list(filter(lambda x: x % 2 == 0, [1,2,3,4,5,6])) = [2, 4, 6]# reduce(lambda a, b: a + b, [1,2,3,4]) = 10## 【7. 作为"策略"存在数据结构中】# ops['add'](2, 3) = 5# ops['mul'](2, 3) = 6
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。