实用的lambda表达式

目录

1 介绍

2 简单用例

3 实际案例

3.1 需求1

1 介绍

来看一下传说中的lambda表达式,这东西听起来高大上,其实就是个表达式,功能也很有限,优点就是实现简单函数时方便,还有装b。

式lambda 形式参数: 表达式

形式参数就是输入,返回表达式的值。

2 简单用例

本节简单介绍用法,实际应用按需求定。

话不多说,用代码说明是最直接的。

# lambda表达式可看做函数,直接赋给变量
f = lambda item: item + 10
print(f(10))  # 20

f = lambda x1, y1: x1 + y1
print(f(10, 20))  # 30

不过以上看看就算了,不多用,更多的还是结合其他函数使用。

  • filter()函数
# filter函数有过滤功能
# 需要传入函数(return True or False)和迭代对象
x = [1, 2, 3, 4, 5, 6, 7, 8]
y = filter(lambda item: item % 2 == 0, x)
print(list(y))
  • map()函数
# map函数有映射功能
# 需要传入函数(return 元素)和迭代对象
x = [1, 2, 3, 4, 5, 6, 7, 8]
y = map(lambda item: item + 10, x)
print(list(y))

更多的函数慢慢来,等用到再说。

3 实际案例

3.1 需求1

将目标列表中的值替换,大于3的为True, 否则为False

常用在数据集预处理中,字符串转float,True or False,1 or 0,

x = [1, 2, 3, 4, 5, 6, 7, 8]
y = []

# extend函数扩展y,传入迭代器
y.extend(map(lambda p: p > 3, x))
print(y)  # [False, False, False, True, True, True, True, True]

3.2 需求2

给map函数需要传的函数传参,好像有点绕,看示例就明白了。

# map函数需要一个函数,但是无法给它传参,这时lambda可以
def fn(x, y):
    return x+y

y1 = map(lambda item: fn(item, 10), x)
print(list(y))

这在数据集处理中非常常用,比如,需要按不同的编码方式处理标签值。

等再有需求就补上,欢迎广大码农提供需求!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三叶草~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值