python基础——lambda表达式与高阶函数应用

lambda 表达式

作用:简化代码
格式 (形参可有可无)
lambda 形参:表达式

def func(data)
    print(data)

func2 = lambda data: print(data)

print((lambda a,b:a+b)(1,2)) # 3 直接调用lambda函数

与sort函数一起使用

list1 = [[3, '1'], [1, '3'], [2, '2']]
list1.sort(key = lambda i:i[1]) #按照列表内的第二个数据进行排序
print(list1) #[[3, '1'], [2, '2'], [1, '3']]

与map函数一起使用

map(func, list) #映射

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
newlist = map((lambda i:i*i), list1) #迭代器
print(list(newlist)) # [1,4,9,16,25,36,49,64,81,0] #强转成列表进行输出

与reduce函数一起使用

reduce(func, list) #累积

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
result1 = reduce((lambda x,y:x+y),list1) #累加 ,求和
result2 = reduce((lambda x,y:x*y),list1) #累乘 ,阶乘

与filter函数一起使用

filter(func, list) #过滤不符合表达式的数据

list1 = [1,2,3,4,5,6,7,8,9,0]

print(list(filter(lambda i: i % 2 == 0, list1))) #取出列表中的偶数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容