# 示例代码:使用 lambda 和 if 的组合
# 1. 使用 lambda 和 if 实现简单的条件判断
max_value = lambda a, b: a if a > b else b
print(max_value(10, 20)) # 输出 20
# 解释说明:
# 上面的代码定义了一个 lambda 函数,它接受两个参数 a 和 b。
# 如果 a 大于 b,则返回 a;否则返回 b。这个 lambda 函数的作用是找出两个数中的最大值。
# 2. 使用 lambda 和 if 进行列表过滤
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x if x % 2 == 0 else None, numbers))
print(even_numbers) # 输出 [2, 4, 6, 8, 10]
# 解释说明:
# 上面的代码使用 filter 函数和 lambda 表达式来过滤出列表中所有的偶数。
# lambda 函数检查每个元素是否为偶数,如果是偶数则返回该元素,否则返回 None。
# filter 函数会自动忽略 None 值,最终得到一个只包含偶数的新列表。
# 3. 使用 lambda 和 if 对列表进行排序
data = [("apple", 2), ("banana", 1), ("cherry", 3)]
sorted_data = sorted(data, key=lambda x: x[1] if x[1] < 3 else 10)
print(sorted_data) # 输出 [('banana', 1), ('apple', 2), ('cherry', 3)]
# 解释说明:
# 上面的代码对一个包含元组的列表进行排序。
# lambda 函数用于指定排序的关键字,这里根据元组的第二个元素进行排序。
# 如果第二个元素小于 3,则按原值排序;否则赋予一个较大的值(如 10),使其排在后面。
下一篇:python合并两个列表
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站