匿名函数

1、def用于定义有名函数

func=函数的内存地址

def func(x,y):
    return x+y

2、lamdab用于定义匿名函数

print(lambda x,y:x+y)

3、调用匿名函数

方式一:

res=(lambda x,y:x+y)(1,2)
print(res)

方式二:

func=lambda x,y:x+y
res=func(1,2)
print(res)

4、匿名用于临时调用一次的场景:更多的是将匿名与其他函数配合使用

5、匿名函数的应用场景

需求1:找出薪资最高的那个人=》lili

salaries={
    'siry':3000,
    'tom':7000,
    'lili':10000,
    'jack':2000
}

res=max(salaries,key=lambda k:salaries[k])
print(res)

需求2:找出薪资最少的那个人=》jack

res=min(salaries,key=lambda k:salaries[k])
print(res)

排序

res=sorted(salaries,key=lambda k:salaries[k],reverse=True)

map(映射)的应用(了解)

l=['alex','lxx','wxx','薛贤妻']
# 方法一
new_l=(name+'_dsb' for name in l)
print(new_l)
# 方法二
res=map(lambda name:name+'_dsb',l)
print(res) # 生成器

filter的应用(了解)

l=['alex_sb','lxx_sb','wxx','薛贤妻']
# 方法一
res=(name for name in l if name.endswith('sb'))
print(res)
# 方法二
res=filter(lambda name:name.endswith('sb'),l)
print(res) # 生成器

reduce的应用(了解)相加

from functools import reduce
# 数字用法
res=reduce(lambda x,y:x+y,[1,2,3],10) # 16
print(res)
# 字符串用法
res=reduce(lambda x,y:x+y,['a','b','c']) # 'a','b'
print(res)

原文地址:https://www.cnblogs.com/bailongcaptain/p/12577113.html