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