我有两个嵌套列表:Python的SUMPRODUCT
a = [[1,2,3],[2,4,2]]
b = [[5,5,5],[1,1,1]]
我想繁殖和SUMPRODUCT各组元素得到
c = [[30],[8]]
从= [[1*2+2*5+3*5],[2*1,4*1,2*1]]
这导致我试过了:
c = sum(x * y for x, y in zip(a, b))
但我得到“不能乘以类型'列表'的非int的序列”
是否有一个简单的列表理解方式来避免循环?
而应该首先尝试将它与循环写,并添加一些'print's明白是怎么回事。当你理解它时,你可以用更简洁的方式重写它。 –
嗯... 1 * 2 + 2 * 5 + 3 * 5 = 30是怎么回事?操作顺序说“乘,然后加”,所以它应该是2 + 10 + 15 = 27,对吗? – willnx
看起来你正在尝试做矩阵乘法。如果是这样,你可能想在'numpy'中开始使用多维数组。 – Bill