2024-04-24 14:26:52 发布
网友
我想从其他列表(a,b,c)创建一个新的列表(V)并使用一个函数,但是我想利用python并将函数应用于三个列表,而不是逐个元素。你知道吗
例如,我有a、b和c列表;应用函数后的结果应该是V。谢谢。你知道吗
def mag(a, b, c): # something sophisticated return (a+b)*c a = [1, 5, 7] b = [4, 8, 3] c = [2, 6, 3] V = [10, 78, 30]
您可以使用map函数轻松地完成此操作:
map
V = list(map(mag, a, b, c))
首先压缩参数,然后将函数映射到解包元组:
from itertools import starmap starmap(mag, zip(a,b,c))
有关示例,请参见here。你知道吗
另一种解决方案是使用map和lambda
lambda
In [16]: list(map(lambda p: mag(*p), zip(a, b, c))) Out[16]: [10, 78, 30]
您可以使用
map
函数轻松地完成此操作:首先压缩参数,然后将函数映射到解包元组:
有关示例,请参见here。你知道吗
另一种解决方案是使用
map
和lambda
相关问题 更多 >
编程相关推荐