# 语法
# lambda 参数列表: 表达式
# 其中表达式必须有返回值
# 无参
print((lambda : 100)()) # 100
# 一个参数
print((lambda a: a)("hello world")) # hello world
# 默认参数
a = lambda a, b, c=100: a + b + c
value = a(10, 20)
print(value) # 130
# 可变参数
a = lambda *args: args
value = a(10, 100)
print(value) # (10, 100)
# 可变参数2
a = lambda **kwargs: kwargs
value = a(name="xiaoming", age=100)
print(value) # {'name': 'xiaoming', 'age': 100}
# if
a = lambda a, b: a if a> b else b
value = a(100, 200)
print(value) # 200
# 列表
list1 = [ {"name":"tom", "age":20}, {"name":"xiaoming", "age":18}, {"name":"lubanqihao", "age":8},]
list1.sort(key=lambda x:x["name"])
print(list1) # [{'name': 'lubanqihao', 'age': 8}, {'name': 'tom', 'age': 20}, {'name': 'xiaoming', 'age': 18}]
list1.sort(key=lambda x:x["name"], reverse=True)
print(list1) # [{'name': 'xiaoming', 'age': 18}, {'name': 'tom', 'age': 20}, {'name': 'lubanqihao', 'age': 8}]