func = lambda a, b, *args, sex='alex', c, **kwargs: kwargs
print(func(3, 4, c=666, name='alex'))
结果:{'name': 'alex'}
# 所有类型的形参都可以加,但是一般使用匿名函数只是加位置参数,其他的用不到。
def func(a, b, *args, sex='alex', c, **kwargs):
return kwargs
a = func(3, 4, c=666, name='alex')
print(a)
结果:{'name': 'alex'}
print((lambda x: x + 6)(5))
结果:11
def func(x):
return x + 6
print(func(5))
结果:11
lst = [lambda :i for i in range(5)]
print(lst)
拆解成函数:
lis = []
for i in range(5):
def func():
return i
a = func
lis.append(a)
print(lis)
结果:[<function func at 0x0000029E97472378>, <function func at 0x0000029E97472400>, <function func at 0x0000029E97472488>, <function func at 0x0000029E97472510>, <function func at 0x0000029E97472598>]
action = (lambdax : (lambda y : x + y))
a = action(10)
a(5)
结果:15
lis = [1, 2, 3, 4]
re = filter(lambda x: x % 2 == 0, lis)
print(list(re))
result1 = [x for x in lis if x % 2 == 0]
print(result1)
结果:[2,4]
[2,4]
lis = [1, 2, 3]
result = map(lambda x: x*2, lis) # 使用lambda函数
print(list(result))
result1 = [x*2 for x in lis] #使用列表推导式
print(result1)
结果:[2, 4, 6]
[2, 4, 6]
from functools import reduce
lis = [1, 2, 3, 4]
result = reduce(lambda x, y: x+y, lis)
print(result)
结果:10
原文:https://www.cnblogs.com/shenhongbo/p/11566976.html