如何对两个列表进行逐个元素相乘?

2024-04-26 00:55:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想执行一个元素乘法,用Python中的值将两个列表相乘,就像我们在Matlab中一样。

这就是我在Matlab中所做的。

a = [1,2,3,4]
b = [2,3,4,5]
a .* b = [2, 6, 12, 20]

对于来自ax和来自bx * y的每个组合,列表理解将给出16个列表条目。不确定如何映射。

如果有人感兴趣的话,我有一个数据集,想把它乘以Numpy.linspace(1.0, 0.5, num=len(dataset)) =)


Tags: 数据numpy元素列表len条目datasetnum
3条回答

使用np.乘法(a,b):

import numpy as np
a = [1,2,3,4]
b = [2,3,4,5]
np.multiply(a,b)

使用与zip()混合的列表理解。

[a*b for a,b in zip(lista,listb)]

因为您已经在使用numpy,所以将数据存储在numpy数组而不是列表中是有意义的。一旦你这样做,你就可以免费得到像元素产品这样的东西:

In [1]: import numpy as np

In [2]: a = np.array([1,2,3,4])

In [3]: b = np.array([2,3,4,5])

In [4]: a * b
Out[4]: array([ 2,  6, 12, 20])

相关问题 更多 >