我是 python 的新手,对数组本身很熟悉,但我对一个相当简单的问题感到震惊。我有一个列表列表,如下所示:
a = [[1,0,1,0,1],[0,0,1,0,1],[0,0,1,0,1],[1,1,1,0,1],[1,0,0,0,0]]
我想将每个列表的元素相互相乘。像这样的东西:
a_dot = [1,0,1,0,1]*[0,0,1,0,1]*[0,0,1,0,1]*[1,1,1,0,1]*[1,0,1,0,0]
=[0,0,1,0,0]
想知道我是否可以不使用 numpy/scipy 来完成上述操作。
谢谢。
请您参考如下方法:
import operator
a_dot = [reduce(operator.mul, col, 1) for col in zip(*a)]
但是如果你所有的数据都是 0 和 1:
a_dot = [all(col) for col in zip(*a)]
