# 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)