匿名函数

匿名函数

为了解决那些功能很简单的要求而设计的一句话函数
关键字:lambda

def calc(n):
     return n**n
print(calc(10))
#换成匿名函数:
cacl = lambda n: n**n
print(cacl(10))

格式说明函数名 = lambda  参数:返回值
◆参数可以有多个,用逗号隔开
◆匿名函数只能写一行,且逻辑执行结束后的内容就是返回值
◆返回值和正常函数一样可以是任意数据类型
◆匿名函数再和其他函数合作的时候真的会匿名(合作的函数有min max map filter sorted)

栗子1:求dic = {'k1':10,'k2':100,'k3':20}中值最大的key值

dic = {'k1':10,'k2':100,'k3':20}
print(max(dic,key = lambda k:dic[k]))
#普通法:
l = [1,2,66,88,0,59,3,9,23]
def m_num(x):
    return x>10
ret = filter(m_num,[1,2,66,88,0,59,3,9,23])
for i in ret:
    print(i)
#匿名函数法:
res = filter(lambda x:x>10,[1,2,66,88,0,59,3,9,23])
for i in res:
    print(i)
栗子2:再列表中筛选大于10 的数
res = map(lambda x:x*x,[1,2,3,4,5])
for i in res:
    print(i)
栗子3:求列表中数的平方

 

posted @ 2019-03-12 20:30  红领巾***  阅读(145)  评论(0编辑  收藏  举报