匿名函数

博客介绍了C/C++中Lambda表达式的相关内容。包括其定义,关键字为lambda,有特定语法;注意事项,不能有复杂业务逻辑和return;常用场景,如在map()函数、sort()关键字key中使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 定义:

  • 关键字:lambda
  • 语法:
  • lambda 参数1,[参数2,参数3,...]: 表达式
  • 如:直接使用匿名函数(不提倡这种使用方法)
# 定义一个匿名函数,将函数存储到变量get_sum中
get_sum = lambda a, b:a+b  
print(type(get_sum))
print(get_sum(1, 2))

  

2 注意事项:

  • 不能存在复杂的业务逻辑,比如 :循环,分支(三元条件表达式除外)
  • 不能存在 return

3.常用场景:

  • 如1(map()函数):

  • 例1:
list1 = [1, 2, 3, 4]
list2 = map(lambda x:x **3, list1)
print([item for item in list2])

  

list1 = [1,2,3,4]
list2 = [2,3,4]
list3 = map(lambda a,b:a+b, list1, list2)
print([item for item in list3])

  

  • 如2(sort()关键字key):
list1 = [('Tom', 20), ('David', 19), ('Jordon', 58)]
# 匿名函数
list1.sort(key=lambda x:x[1])  # 按年龄排序
print(list1)

dict1 = [{'name': 'Tom', 'age': 20}, {'name': 'Jack', 'age': 18}, {'name': 'Rose', 'age': 30}]
# 列表中存储的元素为字典时,不支持默认的排序
# dict1.sort()  TypeError

dict1.sort(key=lambda d:d['age'])
print(dict1)

  

 

转载于:https://www.cnblogs.com/songdanlee/p/11190873.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值