处理来自两个独立列表的值- Python



我有两个列表,每个列表有10个值,我想把它们相乘。

import random
n1_r = random.sample(range(1, 100), 10)
n2_r = random.sample(range(1, 100), 10)
n1 = n1_r
n2 = n2_r
例如,我想将n1的第一个值与n2

的第一个值相乘,等等?我期待在n3中存储10个值的新列表

n3 = [a * b for a, b in zip(n1, n2)]

您可以通过多种方式做到这一点。考虑到你的经验水平,我会给你一个基本的列表理解。

例如:

array1 = [2, 2, 2, 2]
array2 = [3, 3, 3, 3]
array3 = [i * j for i,j in zip(array1, array2)]
>>> array3
[6, 6, 6, 6]

那么你总是可以做一些更简洁的一行。

例如:

array3 = list(map(lambda x: x[0]*x[1], zip(array1, array2)))
python中有许多工具、模块和构造来完成此任务。看一看Pandas和模块操作符,了解处理和操作数据的一些方便方法。

有多种方法可以做到这一点。请参阅https://www.entechin.com/how-to-multiply-two-lists-in-python/

对于这种高级数值运算,您可以使用numpy库如:

import numpy as np
array1 = np.array(n1_r)
array2 = np.array(n2_r)

result = array1*array2

最新更新