lambda 表达式

在 Python 中,lambda 表达式用于创建匿名函数。与传统的函数定义(使用 def 关键字)不同,lambda 允许你在一行代码中定义一个简短的函数。这些函数可以在需要函数对象的地方使用,比如 map、filter 和 sorted 等函数。

基本语法

lambda arguments: expression
  • arguments:函数的参数
  • expression:函数的返回值(表达式必须是单一的,不可以有多个语句)

示例

  1. 简单的 lambda 表达式:
add = lambda x, y: x + y
print(add(5, 3))  # 输出: 8
  1. 在 map 函数中使用 lambda:
    map 函数用于对可迭代对象的每个元素应用一个函数。
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # 输出: [1, 4, 9, 16, 25]
  1. 在 filter 函数中使用 lambda:
    filter 函数用于过滤可迭代对象中的元素,根据给定的函数判断是否保留。
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 输出: [2, 4]
  1. 在 sorted 函数中使用 lambda:
    sorted 函数用于排序,lambda 可以作为排序的关键字函数。
tuples = [(1, 'one'), (3, 'three'), (2, 'two')]
sorted_tuples = sorted(tuples, key=lambda x: x[1])
print(sorted_tuples)  # 输出: [(1, 'one'), (2, 'two'), (3, 'three')]
  1. 用于排序的自定义排序:
words = ['banana', 'apple', 'cherry']
sorted_words = sorted(words, key=lambda word: len(word))
print(sorted_words)  # 输出: ['apple', 'banana', 'cherry']

注意事项

  • lambda 表达式不能包含多行代码、条件语句或复杂的逻辑,只适用于简单的表达式。
  • 尽量避免过度使用 lambda 表达式,尤其是当函数逻辑较复杂时,使用常规函数定义(def)会更易于阅读和维护。
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值