为了账号安全,请及时绑定邮箱和手机立即绑定

应用具有输入等列表的函数

应用具有输入等列表的函数

慕妹3146593 2021-07-09 14:07:16
我想从其他列表(a、b、c)创建一个新列表(V)并使用一个函数,但我想利用 python 并将该函数应用于三个列表而不是逐个元素。例如,我有列表 a、b 和 c;应用函数后的结果应该是V。谢谢。def mag(a, b, c):    # something sophisticated    return (a+b)*ca = [1, 5, 7]b = [4, 8, 3] c = [2, 6, 3]V = [10, 78, 30]
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

您可以使用以下map功能轻松完成此操作:

V = list(map(mag, a, b, c))


查看完整回答
反对 回复 2021-07-13
?
慕村225694

TA贡献1880条经验 获得超4个赞

您想首先压缩参数,然后将函数映射到解压缩的元组上:


from itertools import starmap


starmap(mag, zip(a,b,c))


查看完整回答
反对 回复 2021-07-13
?
皈依舞

TA贡献1851条经验 获得超3个赞

只使用内置函数怎么样?像拉链


>>> [mag(a_, b_, c_) for a_,b_,c_ in zip(a, b, c)]

[10, 78, 30]

加上另一个 python 内置函数,map返回一个迭代器,从而使事情变得更快并最终节省内存:


>>> gen = map(lambda uple:mag(*uple), zip(a, b, c))

>>> list(gen)

[10, 78, 30]


查看完整回答
反对 回复 2021-07-13
  • 3 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号