我有一个包含以下值的列表
h = [
('red', array([50, 344])),
('blue', array([15, 55])),
('green', array([1, 1])),
('orange', array([3, 7])),
('red', array([1, 1]))
]
我想循环遍历列表,如果标签相同,则对numpy.arrays进行求和。因此,鉴于上面的示例中有两个 'red' 实例,期望的结果将是相同的列表但是:
('red', array([ 50, 344])) + ('red', array([1, 1])) = ('red', array([51, 345]))
我尝试创建一个嵌套循环,例如:
for i in range(0, len(h)):
for p in range(0, len(h)):
if (h[i][0] == h[p][0]):
A = h[i][1] + h[p][1]
然而,这段代码也会将实例
h[i][0]
的值与自身相加,但我不想要这样。我想做以下操作-对于每个实例,如果其他实例的标签与自己相同,则将它们添加到自己中,而不将自己的值添加到自己中。希望这一点很清楚。