一.匿名函数的用法
"""
匿名函数的关键字为lambda,冒号前面是形参 冒号后面是返回值
"""
from functools import reduce
#
# def add(x,y):
# return x + y
#
# print(reduce(lambda x,y:x+y,[1,2,3,4,5]))
# print(list(map(lambda x:x ** 2,range(5))))
#求10的阶乘
# print(reduce(lambda x,y:x*y,range(1,11)))
二.匿名函数的参数技巧
#匿名函数的默认参数
# f = lambda x,y=2:x**y
# print(f(3))
# print(f(2,4))
#匿名函数的可变参数:
# f = lambda *args:sum(args)
# print(f(1,2,3,45,6))
#匿名函数的关键字参数:
# f = lambda **kwargs:kwargs.values()
# print(f(name='fentiao',age=10))
#匿名函数的练习
"""
排序,将0都放到列表最后,其余数字位置不变
nums = [0, 7, 0, 1, 2, 1, 5, 1, 7, 8, 0, 67, 1, 3, 4]
"""
nums = [0, 7, 0, 1, 2, 1, 5, 1, 7, 8, 0, 67, 1, 3, 4]
print(sorted(nums,key=lambda x:1 if x == 0 else 0))