python之匿名函数

匿名函数

匿名函数示例

# 匿名函数 : 一句话函数,一行代码实现的函数。
示例:
func1 = lambda x,y: x + y #lambda相当于def x,y相当于参数: x + y相当于返回值,它自带return,无需你手写 print(func1(2,3)) #5
# 非匿名
def func(x,y,z):
    return (x + y - z)*2
# 转化成你匿名函数写法
func3 = lambda x,y,z: (x + y - z)*2
print(func3(1,5,3))  #6
# 匿名函数与内置函数相结合使用。
# 非匿名函数
l1 = [1, 2, 3, 4, 5, 6]
def func(x): return x % 2 == 0
obj1 = filter(func,l1)
print(list(obj1))
# 匿名函数
l1 = [1, 2, 3, 4, 5, 6]
obj1 = filter(lambda x: x % 2 == 0,l1)
print(list(obj1))
# 返回dic字典中第二列最大的值 dic={'k1': 10, 'k2': 100, 'k3': 30}

先写出:
def func(x):
  pass
ret = max(dic,key=func)
print(ret)
再完善
# 非匿名
dic={'k1': 10, 'k2': 100, 'k3': 30}
def func(x):
    return dic[x]
ret = max(dic,key=func)
print(ret)
# 匿名
dic={'k1': 10, 'k2': 100, 'k3': 30}
def func(x): #x接收字典的键(key)k1 k2 k3
    return dic[x]  #返回的是字典中的值
#
func=lambda x: dic[x] #先写出这个
ret = max(dic,key=lambda x: dic[x])#lambda x:x是形参,dic[x]是根据索引取返回值 print(ret)

 

posted @ 2018-11-13 02:28  小菜鸟111  阅读(270)  评论(0编辑  收藏  举报