# lambda 参数:返回值/表达式
# print((lambda :100)())
# f = lambda a,b : a + b
# print(f(10, 20))
# f = lambda a,b,c=100: a + b + c
# print(f(10, 20,200))
# print( (lambda *args:args)(20, 30, 40, 50) )
# 不定长参数 -- 可变参数
# *args位置参数 -- 返回一个列表 2 还有a=100,b=200 ---- args的列表和a和b做合并
# print((lambda *args,a=100,b=200:list(args) + [a, b])(10, 20, 30))
# **kwargs
# print((lambda **kwargs:kwargs)(name='python',age=28))
# 键值对互转
# {value:key for key,value in kwargs.items()}
# print((lambda **kwargs:{value:key for key,value in kwargs.items()})(name='python',age=28))
# lambda可以作为函数的一个参数使用
# f = lambda x,y: x - y
# def func(a,b,f):
# # return a + b -- 丢失f
# return f(a,b)
# print(func(10, 20,f))
# 带判断的lambda
# a和b,对比大小 返回最大值
# 不够pythonic
# def func(a,b):
# if a> b:
# return a
# else:
# return b
#
# print(func(100, 20))
# print((lambda a,b :a if a>b else b)(1000, 20))
# print((lambda a,b,c:c if c > (a if a>b else b) else (a if a>b else b))(100, 2000, 30))
# 需求************* 做排序 -- 年龄 姓名首字母....
info_list=[
{'name':'zhangsan','age':20},
{'name':'lisi','age':18},
{'name':'laowang','age':30}
]
info_list.sort(key=lambda info:info['age'],reverse=True)
print(info_list)