1、匿名函数
作用:简化函数定义。
格式:lambda 参数1,参数2:运算
实例:
# 1.简单例子
s = lambda a,b: a+b
print(s(1,2))
#输出结果为:3
# 2.匿名函数作为参数
def fun1(x,y,func):
print(x,y)
print(func)
s = func(x,y)
print(s)
#调用fun1
fun1(1,2,lambda a,b:a+b)
#输出结果为:
1 2
<function <lambda> at 0x0000020CD0D52378>
3
2、内置函数+匿名函数应用
-
匿名函数 + max()函数 (可以参考下max函数)
list2 = [{'a':10,'b':20},{'a':8,'b':40},{'a':17,'b':5},{'a':5,'b':28}] m = max(list2,key=lambda x:x['a']) print('列表最大值:',m) #输出结果为: 列表最大值: {'a': 17, 'b': 5}
-
匿名函数 + map()函数 (可以参考下min函数)
list1 = [3,4,6,8,9] result = map(lambda x:x+2,list1) print(list(result)) #输出结果为: [5, 6, 8, 10, 11]
-
匿名函数 + reduce()函数 (可以参考下reduce函数)
reduce()函数:对可迭代中的元素进行加减乘除运算。但需要导入from functools import reduce.(在python2中就不需要)from functools import reduce tuple1 = (3,5,7,8) result = reduce(lambda x,y:x+y,tuple1) print(result) #输出结果为:23
-
匿名函数 + filter()函数 (可以参考下filter函数)
list1 = [12,6,8,28,0] result = filter(lambda x:x>10,list1) print(list(result)) #输出结果为:[12, 28]
-
匿名函数 + sorted()函数 (可以参考下sorted函数)
info = [ {'name':'Mark','age':21}, {'name':'Jason','age':20}, {'name':'Jon','age':28} ] studens = sorted(info,key=lambda x : x['age']) print(studens) #输出结果为: [{'name': 'Jason', 'age': 20}, {'name': 'Mark', 'age': 21}, {'name': 'Jon', 'age': 28}]