使用与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])
使用np.multiply(a,b):
import numpy as np a = [1,2,3,4] b = [2,3,4,5] np.multiply(a,b)
你可以尝试在循环中乘以每个元素。 做这个的简短手段是
ab = [a[i]*b[i] for i in range(len(a))]
相当直观的做法是:
a = [1,2,3,4] b = [2,3,4,5] ab = [] #Create empty list for i in range(0, len(a)): ab.append(a[i]*b[i]) #Adds each element to the list
还有一个答案:
-1 …需要导入
+1 …非常可读
import operator a = [1,2,3,4] b = [10,11,12,13] list(map(operator.mul, a, b))
输出[10,22,36,52]
对于大型列表,我们可以这样做:
product_iter_obje