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)
作者:wangkaiok —— 小菜鸟111
出处:http://www.cnblogs.com/wangkaiok/
本文版权归作者和博客园共有,但未经作者同意禁止转载,转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。