匿名函数:
一般用于函数体较为简单的运算,和一些不需要函数名的传递。
lambda 参数1:运算举例:
func = lambda x,y:x+y :可以给匿名函数添加变量名。
匿名函数的应用:
如一个int型列表的排序: list = [22,11,33,66]
list.sort() :结果返回是None,因为是直接修改的是list,此时list的输出结果为[11,22,33,66]
那么如何下列列表找字典的key排序:
user_infor = [{'name':'xiaohong','age':18},{'name':'xiaoqiang','age':16},{'name':'xiaohou','age':15}]
user_infor.sort(key=lambda x:x['age']) :key是一个变量用于接收匿名函数的返回值;然后已返回值为基础排序。
动态计算器:
一般我们计算的时候已经将函数定义好了,但是这里用匿名函数体来代替普通函数体,计算就不在局限于定义的了而取决于用户直接输入的比如:x+y,x/y...
1 #动态计算机:根据用户输入的运算规则进行运算,并非被程序限制死。 2 #匿名函数的应用 3 #定义动态函数 4 def getValue(a,b,func): 5 result = func(a,b) 6 return result 7 #获取用户输入的指令 8 x = int(input("x=")) 9 y = int(input("y=")) 10 user_func = eval('lambda x,y:'+input("请输入x,y的相关运算(如:x+y):")) #字符串拼接匿名函数命令 11 #调用函数 12 print(getValue(x,y,user_func))
样例:(绿色为键盘输入)