我想知道如何将两个不同列表中的每个元素相乘。python list乘以每个值
例如:
list_a = [1,2,3,4,5]
list_b = [10,20,30,40,50]
我想让它1X10 2X20 3X30 4X40 5X50
,这样的结果将是10, 40, 90, 160, 250
我真的很感激,如果你能帮助我。
我想知道如何将两个不同列表中的每个元素相乘。python list乘以每个值
例如:
list_a = [1,2,3,4,5]
list_b = [10,20,30,40,50]
我想让它1X10 2X20 3X30 4X40 5X50
,这样的结果将是10, 40, 90, 160, 250
我真的很感激,如果你能帮助我。
a = [1,2,3,4,5]
b = [10,20,30,40,50]
print [a[i]*b[i] for i in range(len(b))]
这将有助于您
你忘了返回他们的产品! –
我会错误地理解问题现在我将改变输出 –
为什么在你的解决方案中使用'str'@adchoi_97想要'列表'中的整数项不是'字符串'。 –
一个清洁的版本是:
a,b = [1,2,3,4,5],[10,20,30,40,50]
for i,j in zip(a,b):
print '%d x %d = '%(i,j),'%d units'% ((i*j))
你应该用'zip'来代替'map' –
你能解释一下它有什么不同吗?我的意思是它是否节省了计算时间或什么? –
这个'map'是为了*映射操作*而''zip'是为了压缩。您正在使用'zip'来进行映射。这简直是糟糕的形式。 –
您可以如下使用zip
功能。
>>> list_a = [1,2,3,4,5]
>>> list_b = [10,20,30,40,50]
>>> [(x[0]*x[1]) for x in zip(list_a,list_b)]
[10, 40, 90, 160, 250]
'[a * b for a,b in zip(list_a,list_b)]'会有点整齐 –
或者list(map(operator.mul,list_a,list_b))' –
a = [1,2,3,4,5]
b = [i*i*10 for i in a]
使用zip()
:
list_a = [1,2,3,4,5]
list_b = [10,20,30,40,50]
final = [k*v for k, v in zip(list_a, list_b)]
print final
输出:
[10, 40, 90, 160, 250]
的[我如何乘以一个数列表中的每个元素?]可能的复制(HTTPS:/ /stackoverflow.com/questions/35166633/how-do-i-multiply-each-element-in-a-list-by-a-number) –
'zip'为此的最佳方法。[zip](https://d ocs.python.org/3.3/library/functions.html#zip) –