匿名须要关键字lambda
使用方式:lambda 参数:<代码块>
函数
匿名函数通常不单独使用,和 filter()/map()/sorted()/min()/max()/列表的sort()内置方法联用code
salary_dict = { 'xc': 12300, 'yx': 10000, 'll': 2000, } # 列表内置的sort()方法 salary_list = list(salary_dict.items()) # 先转换成列表,内部的键值对会变成元祖 print("排序以前",salary_list) # sort是在列表内部作排序 salary_list.sort(key=lambda i:i[1]) # 使用匿名函数,根据列表内元祖的第二个参数作排序条件进行排序 print("排序以后",salary_list)
排序以前 [('xc', 12300), ('yx', 10000), ('ll', 2000)]
排序以后 [('ll', 2000), ('yx', 10000), ('xc', 12300)]排序
salary_dict = { 'xc': 12300, 'yx': 10000, 'll': 2000, } # sorted方法 salary_list = list(salary_dict.items()) # 先转换成列表,内部的键值对会变成元祖 print("排序以前",salary_list) new_salary_list = sorted(salary_list, key=lambda i: i[1]) # 从新建立一个新的列表进行排序 print("排序以后",new_salary_list)
salary_dict = { 'xc': 12300, 'yx': 10000, 'll': 2000, } salary_list = list(salary_dict.items()) # 先转换成列表,内部的键值对会变成元祖 print("最大值",max(salary_list,key=lambda i:i[1])) # 使用匿名函数作排序条件 print("最大值",min(salary_list,key=lambda i:i[1]))
salary_dict = { 'xc': 12300, 'yx': 10000, 'll': 2000, } # filter/map方法 salary_list = list(salary_dict.items()) # 先转换成列表,内部的键值对会变成元祖 # filter方法,只须要知足过滤条件的(小于5000) print(list(filter(lambda i: i[1] < 5000, salary_list))) # 使用匿名函数作筛选过滤的条件 # map方法,每一个人加2000 print(list(map(lambda i: {i[0]:i[1] + 2000}, salary_list))) # 使用匿名函数作映射的条件