首页 > 解决方案 > 将列表列表中的所有列表相乘

问题描述

我有一个掩码列表,我想通过将所有掩码相乘来获得结果掩码。我的大金刚方法如下:

a = [[1, 1], [1, 0], [1, 0]]
b = a[0]
for i in range(1, len(a)):
    b = b * np.array(a[i])

我认为它可以[1,0]作为b.

有没有更好的方法来做到这一点?


编辑:我正在寻找掩码中的常见范围。要查找所有非零范围,我执行以下操作: label = 0

for i in range(1, len(labels)):
   label = label + np.array(labels[i])
label = [1 if x > 0 else 0 for x in label]

标签: python

解决方案


看一下np.prod,它返回给定轴上数组元素的乘积:

import numpy as np
a = [[1, 1], [1, 0], [1, 0]]
np.prod(a, axis=0)

推荐阅读