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)