python之lambda
lambda表达式可以用来声明匿名函数,也就是没有函数名字的临时使用的小函数,尤其适合需要一个函数作为另一个函数参数的场合。也可以定义具名函数。
lambda表达式只可以包含一个表达式,该表达式的计算结果可以看作是函数的返回值,不允许包含复合语句,但在表达式中可以调用其他函数。
实例:
f = lambda x,y:x+y
print(f(1,2))
f = lambda x,y,z=5:x+y+z
print(f(1,2))
print(f(1,2,z=3))
print("关键参数和默认参数使用",f(y=1,x=2,z=3))
print("lambda 可以加函数")
def demo(x):
return x*x
list_a =[i**2 for i in range(5)]
print(list(map(lambda x: demo(x), list_a)))
print("用于排序")
data = [1, 81,16, 0, 256]
data.sort(key=lambda x:len(str(x)))
print(data)
data.sort(key=lambda x:len(str(x)),reverse=True)
print(data)
# 3
# 8
# 6
# 关键参数和默认参数使用 6
# lambda 可以加函数
# [0, 1, 16, 81, 256]
# 用于排序
# [1, 0, 81, 16, 256]
# [256, 81, 16, 1, 0]