lambda函数

Python Lambda 函数笔记

定义

  • 匿名函数:无需使用 def 关键字定义,无函数名。
  • 单表达式:只能包含一个表达式(不能写多行逻辑)。
  • 语法lambda 参数: 表达式

核心特点

  1. 轻量级:适合简单操作,减少代码冗余。
  2. 即用即弃:通常用于临时场景(如高阶函数参数)。
  3. 返回值:自动返回表达式结果。

使用场景

  1. 高阶函数参数(如 map, filter, sorted
  2. 简化简单逻辑(如条件判断、数学运算)
  3. 回调函数(如 GUI 事件处理)

示例

# 1. 基础加法
add = lambda x, y: x + y
print(add(3, 5))  # 输出: 8

# 2. 配合 map(对列表元素平方)
nums = [1, 2, 3]
squared = list(map(lambda x: x**2, nums))
print(squared)  # 输出: [1, 4, 9]

# 3. 配合 filter(筛选偶数)
evens = list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4]))
print(evens)  # 输出: [2, 4]

# 4. 条件表达式(返回较大值)
max_val = lambda a, b: a if a > b else b
print(max_val(10, 7))  # 输出: 10

注意事项

  • 避免复杂逻辑:若需多行代码,改用 def 定义函数。
  • 可读性:过度使用会降低代码可读性。
  • 作用域:与普通函数共享相同作用域规则。

典型面试题

问题:用 lambda 实现按字符串长度排序列表
答案

words = ["apple", "kiwi", "banana"]
sorted_words = sorted(words, key=lambda s: len(s))
print(sorted_words)  # 输出: ['kiwi', 'apple', 'banana']
posted @ 2025-08-29 11:35  清澈的澈  阅读(2)  评论(0)    收藏  举报