day18 Pyhton学习 匿名函数
匿名函数 别称: lambda表达式
函数,没有名字
def wahaha(n):#wahaha return n**2 print(wahaha.__name__) qqxing = lambda n : n**2 print(qqxing.__name__)#lambda ret = qqxing(8) print(ret)#64 f = lambda *args:sum(args) ret = f(1,2,3,4,5) print(ret)#15
# 匿名函数 # 定义 # 匿名函数的内存地址 = lambda 参数1,参数2 : 返回值/返回值的表达式 # 调用 # 接收返回值 = 匿名函数的内存地址(参数) dic={'k1':10,'k2':100,'k3':30} def func(k): return dic[k] m = max(dic,key = func) print(m)#k2 m = max(dic,key = lambda k:dic[k]) print(m)#k2
# 内置函数+匿名函数 l1 = [1,5,7,4,8] # 每一个数的平方%2 ret = map(lambda n : n**2%2 ,l1) print(list(ret))#[1, 1, 1, 0, 0] l2 = [3,10,20,50,22,7] # 找到大于20的所有数 ret = filter(lambda n : n>20,l2) print(list(ret))#[50, 22] l3 = [{'name':'alex','age':83},{'name':'wusir','age':38}] # 1.找到年龄大于40的值 filter # 2.将列表中的项按照年龄从小到大排序 sorted # 3.给列表中的每一个人的年龄+1 # 1 def func(dic): return dic['age']>40 ret = filter(lambda dic:dic['age']>40,l3) print(list(ret))#[{'name': 'alex', 'age': 83}] #2 def func(dic): return dic['age'] ret = sorted(l3,key=lambda dic:dic['age']) print(ret)#[{'name': 'wusir', 'age': 38}, {'name': 'alex', 'age': 83}] # 3 lambda 并不能取代函数 def func(dic): dic['age'] += 1 return dic ret = map(lambda dic : {'name':dic['name'],'age':dic['age']+1},l3) print(list(ret))#[{'age': 84}, {'age': 39}]