Python-匿名函数

一、概念

匿名函数造出来的是一个内存地址,且内存地址没有绑定任何名字,很快被当做垃圾清理掉。所以匿名函数只需要临时调用一次,而有名函数永久使用;

匿名函数一般和其他函数配合使用;

#  有名函数

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


# 匿名函数
res = (lambda x, y=1: x + y)(1,2)  # 返回x+y 的值
print(res)


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

二、实例

实例一:

info = {
    'jack': 10000,
    'tony': 2000,
    'andy': 3087,
    'yvette': 987,
    'lucky': 7890
}


def func(k):  # 该处k 表示字典中的key
    return info[k]  # 这样就可以得到key 对应的值
    # key传一个函数内存地址,max每迭代一次就需要传一次参数


# 通过名字拿到对应的值,把这个值作为比较依据,key传一个函数内存地址,max每迭代一次就需要传一次参数
res = max(info, key=func)  # key=函数内存地址
print(res)

 运用匿名函数

将func函数注释掉,如下

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

实例二:

# 依据数组内的元组第二位排序

l = [(1, 2), (4, 3), (2, 1), (6, 5)]
# 整体依据内部小元组第二个值排序
l.sort(key=lambda item: item[1])  # item [1] 返回内部小元组的第二位
print(l)

 运行结果:

[(2, 1), (1, 2), (4, 3), (6, 5)]

 实例三:

 注:如果原始列表l很长,可以将 [] 换成();

# 每个词后均加'老坛酸菜'
l = ['康师傅', '统一', '大今野', '白象']

# 列表生成式
new_l = [name +'_老坛酸菜' for name in l]
print(new_l)

 运行结果:

['康师傅_老坛酸菜', '统一_老坛酸菜', '大今野_老坛酸菜', '白象_老坛酸菜']

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值