是否有更“数学”的方式来执行以下操作:
1.2738 * (list_of_items)
所以我正在做的是:
[1.2738 * item for item in list_of_items]
答案 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)