Python--map结合lambda使用

因为lambda是匿名函数,map和lambda结合起来使用,代码更加简洁:
求列表list_x = [1, 2, 3, 4, 5, 6, 7, 8],每项的平方

list_x = [1, 2, 3, 4, 5, 6, 7, 8]
r = map(lambda x:x*x,list_x)
print(list(r))
-----------------------------------------
输出:
[1, 4, 9, 16, 25, 36, 49, 64]

lambda想要再加一个参数呢,其实map还可以再传入一个参数,

list_x = [1, 2, 3, 4, 5, 6, 7, 8]
list_y = [1, 2, 3, 4, 5, 6, 7, 8]
d = map(lambda x,y:x*x+y,list_x,list_y)
print(list(d))
-------------------------------------
输出:
[2, 6, 12, 20, 30, 42, 56, 72]

如果list_xlist_y的长度不相等:

list_x = [1, 2, 3, 4, 5, 6, 7, 8]
list_y = [1, 2, 3]
d = map(lambda x,y:x*x+y,list_x,list_y)
print(list(d))
-----------------------------------
输出:
[2, 6, 12]

list_x = [1, 2, 3,4]
list_y = [1, 2, 3, 4, 5, 6, 7, 8]
d = map(lambda x,y:x*x+y,list_x,list_y)
print(list(d))
-----------------------------------------------
输出:
[2, 6, 12, 20]

通过map得到的结果的元素个数取决于传入的两个集合或者序列的最小元素个数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值