匿名函数格式:
lambda x,y:x+y
注释:lambda用来定义匿名函数的关键字
x,y代表的是该函数里面要传递的参数
: 分隔符
x+y代表的是该函数里面要执行的逻辑代码
name=[22,3,6666,555,334]
name.sort();给name列表进行排序按照从小到大顺序进行排序 结果是:[3,22,334,555,6666]
name.sort(reverse=True):给name列表进行排序按照从大到小排序:[6666,555,334,22,3]
name.reverse():把name里面存储的数据顺序反转 结果是:[334,555,6666,3,22]
sudent=[{"name":"zhangsan","age":10},{"name":"lisi","age":20},{"name":"wangwu","age":33}]
student.sort():调用该方法会报错,原因是列表里面存储的是字典无法排序
可以使用匿名函数排序
student.sort(key = lambda x:x['name'])
#输出结果是:[{"name":"lisi","age":20},{"name":"wangwu","age":33},{"name":"zhangsan","age":10}]
#注释:lambda x:x['name'] 就是个匿名函数,其中x代表的是字典里的一个元素:{"name":"lisi","age":20},会根据该元素里面name进行排序,从a-z进行排序
--------------------------------------------------------------把匿名函数当做参数传递-------------------------------------------
def test(a,b,func):
number=func(a,b)
return number
#调用
x=test(10,20,lambda x,y:x+y)
print(x)
结果是:30
注释:调用text(10,20,lambda x,y:x+y),首先或走number=func(a,b)方法 会把10和20传递给a和b,
lambda x,y:x+y是匿名函数等效于 func(10,20),而该匿名函数执行的代码逻辑是 x+y ,10+20=30
---------------------------------------------------键盘录入匿名函数----------------------------------------------------
def test(a,b,func)
result=func(a,b)
return result
#键盘录入记名函数
func_new = input("亲输入一个匿名:")
fun_new = eval(func_new)
num= text(11,22,fun_new)
print(num)
#当你在键盘上录入一个: lambda x,y x+y的结果是33
注释; eval(func_new):的作用是把func_new这个字符串转换成方法,如果不这样调用会执行字符串而不是匿名函数,程序会崩溃
--------------------------------------------交换两个变量位置-------------------------------
a=10
b=20
a,b=b,a:这样操作等于把等号右边的b赋值给等号左边的a 把等号右边的a赋值给等号左边的b
#调用上面的代码后数据结果是: a=20 b=10