匿名函数
匿名函数的关键字为lambda,冒号前面是形参,冒号后面是返回值
在python里,有两种函数,一种是def定义函数,一种时lambda匿名函数
def add(x,y):
return x+y
print(add(1,2))
f = lambda x,y:x+y 匿名函数的位置参数
print(f(1,2))
from functools import reduce
print(reduce(lambda x,y:x+y,[2,3])) 导入reduce函数
匿名函数的其他参数
f = lambda x,y=2:x ** y #匿名函数的默认参数
print(f(3))
print(f(3,3))
f = lambda *args:sum(args) #匿名函数的可变参数
print(f(1,3,5,7,9))
f = lambda **kwargs : kwargs.values() #匿名函数的关键字参数
print(f(name='lee',age= '20'))
定义格式:
def fun(*args,**kwargs):
return args,kwargs
print(fun())
print(lambda *args,**kwargs:(args,kwargs))
1-5的累加
from functools import reduce
def add(x,y):
return x+y
print(reduce(add,[1,2,3,4,5]))
print(reduce(lambda x,y:x+y,[1,2,3,4,5]))
1-10的平方
def mypow(x):
return x ** 2
print(list(map(mypow,range(1,11))))
print(list(map(lambda x:x**2,range(1,11))))
#1~100之间的偶数
print(list(filter(lambda x:x%2==0,range(1,101))))
将0排在最后
nums = [0,7,0,1,2,1,5,1,7,8,0,65,1,3,4]
print(sorted(nums,key=lambda x:1 if x == 0 else 0))