Python:如何对两个列表中的元素进行乘法和求和(不使用库)?

标签 python list

我有两个包含数字列表的列表(m1 和 m2)。我正在尝试按元素进行乘法和求和,包括叉积以获得最终列表(结果),如下所示:

m1 = [[1, 2, 3], [4, 5, 6]]
m2 = [[7, 9, 2], [8, 1, 3]]

[[1*7+2*9+3*2,1*8+2*1+3*3],[4*7+5*9+6*2,4*8+5*1+6*3]]

result = [[31,19],[85,55]]

最佳答案

你可以玩python built-in functions和嵌套列表理解:

>>> [[sum(t*k for t,k in zip(i,j)) for j in m2] for i in m1]
[[31, 19], [85, 55]]

您还可以使用 itertools.product 来查找子列表之间的产品:

>>> from itertools import product
>>> [sum(t*k for t,k in zip(i,j)) for i,j in product(m1,m2)]
[31, 19, 85, 55]

关于Python:如何对两个列表中的元素进行乘法和求和(不使用库)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31391061/

相关文章:

python - 是否可以按数据对 python 中的 csv 文件进行排序?

python - 如何在字符串中搜索大写字母并返回包含和不包含大写字母的单词列表

python - 迭代和连接 2 个列表占用大量内存

python - 列表和元组

javascript - Python 和 JavaScript 基本通信

python - 将每一行替换为一列

python - 在运行 Python 的 selenium webdriver 时传递参数

Python,使用比较函数寻找最佳对象

python - 对数时间Python中有序列表中的位置元素

list - 有选择地禁用Scala中的归类吗? (正确键入List.contains)