
- lambda表达式的定义
'''
匿名函数
'''
def show():
print("Hello World!")
func = show
print(func)
print(show)
func()
func = lambda : 1+1
print(func)
print(func())
func = lambda x: print(x**10)
func(2)
'''
1.lambda 默认返回表达式计算结果,不需要return,如果加了return反而会报错
func = lambda x,y: return x+y
2.不能有循环
func = lambda x,y: for i in range(x,y) print(i)
func = lambda x,y: i=x while i<y: print(i) i+=1
3.不能使用if的正常格式
func = lambda n: if n%2==0: print('偶数')
4.但是可以使用if实现的三目运算符
func = lambda m,n: m if m>n else n
print(func(11,2)) #11
'''
- 高阶函数的应用(map)

'''
map函数
作用:是对参数列表中的元素做一个映射
'''
my_list = [1,2,3,4,5]
def f(x):
return x ** 3
result_list = map(lambda n: n ** 3,my_list)
for i in result_list:
print(i)
- 高阶函数的应用(reduce)


'''
高阶函数-reduce
'''
import functools
my_list = list('hello')
result = functools.reduce(lambda s1,s2: s1+s2,my_list)
print(result)
my_list = [i for i in range(1,6)]
result = functools.reduce(lambda n1,n2: n1*n2, my_list)
print(result)
- 高阶函数应用(filter)

'''
高阶函数-filter
'''
my_list = ['123','234','abc','@#$',' ','abc234','132abc']
num_list = filter(lambda s:s.isdigit(),my_list)
for s in list(num_list):
print(s)
- sort函数
'''
函数-sort
'''
my_list = [7,2,4,1,5,8,9,3,6,0]
my_list.sort()
my_list = [{'id':1,'name':'tom','age':12},
{'id':3,'name':'rose','age':32},
{'id':2,'name':'Jack','age':22}]
my_list.sort(key=lambda d:d['id'])
my_list.sort(key=lambda d:d['age'],reverse=True)