Вы можете использовать dict
из list
для отслеживания материала вместо list
из list
:
lists=[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3],[ 10, 15, 3, 3, 0, 0,5, 3, 3, 90], [0, 0, 0, 15, 0, 15, 180, 0, 90, 0]]
cat=['alpha','beta','gama','beta','beta','alpha','alpha','beta','gama','beta']
result = {k: [0] * len(lists) for k in dict.fromkeys(cat).keys()}
for i, l in enumerate(lists):
for x, c in zip(l, cat):
result[c][i] += x
print(result)
# {'alpha': [0, 0, 15, 195], 'beta': [0, 3, 111, 15], 'gama': [0, 0, 6, 90]}