矩阵标量乘法

时间:2015-03-02 23:40:25

标签: python

是否有更“数学”的方式来执行以下操作:

1.2738 * (list_of_items)

所以我正在做的是:

[1.2738 * item for item in list_of_items]

2 个答案:

答案 0 :(得分:17)

您所描述的数学等价物是向量的标量乘法运算。因此,我的建议是将您的元素列表转换为"向量"然后乘以标量。

这样做的标准方法是使用numpy

而不是

1.2738 * (list_of_items)

您可以使用

import numpy
1.2738 * numpy.array(list_of_items)

示例输出:

In [8]: list_of_items
Out[8]: [1, 2, 4, 5]

In [9]: import numpy

In [10]: 1.2738 * numpy.array(list_of_items)
Out[10]: array([ 1.2738,  2.5476,  5.0952,  6.369 ])

答案 1 :(得分:2)

另一种方法

map(lambda x:x*1.2738,list_of_items)