首页 > 解决方案 > 有没有办法在 Python 中同时使用两个列表执行计算?

问题描述

例如,如果我希望列表 a 中的值与列表 B 中相同位置的值相乘:

A = [1,2,3] B = [4,5,6] 那么所需的计算是:1 乘以 4、2 乘以 5 和 3 乘以 6

标签: pythonlist

解决方案


使用列表理解(比 for 循环更快):

>>> res_list = [ls1[i] * ls2[i] for i in range(len(ls1))] 

或者

Numpy(最快的方法):

>>> import numpy as np
>>> ls1 = np.array([1,2,3,4])
>>> ls2 = np.array([2,1,6,5])
>>> res = ls1 * ls2
>>> print(res)
array([2,3,18,20])

或者

for 循环(最慢但易于阅读):

res= []
for i in range(len(a)):
     res.append(ls1[i]*ls2[i]) 
print(res)

编辑:请从freeCodeCamp检查这个速度性能图

在此处输入图像描述


推荐阅读