Я создал список списков:
list2=[[0,0,0,0,0]]
max_el=5
for i in range(max_el):
list2.append([])
В первом списке 5 пустых значений.
У меня также есть словарь с большим количеством ключевых элементов, и каждый ключевой элемент имеет список из 5 значений.
Я хочу, чтобы каждый следующий список list2 суммировал значения предыдущего списка со значениями словаря.
Пример:
dic={"A":[1,1,1,1,1],"B":[4,4,4,4,4],"C":[2,2,2,2,2],"D":[2,2,2,2,2],"E":[2,2,2,2,2]}
У меня есть этот код:
for bar in range(0,max_el):
list1=list2
for value,oldvalue in zip(dic,list1[bar]):
num=dic[value][bar]
suma=oldvalue+num
list1[bar+1].append(suma)
list2=list1
Что дает мне:
list2=[[0, 0, 0, 0, 0], [1, 4, 2, 2, 2], [2, 8, 4, 4, 4], [3, 12, 6, 6, 6], [4, 16, 8, 8, 8], [5, 20, 10, 10, 10]]
Проблема в том, что это занимает много времени, когда у меня много данных. Как я могу написать это более эффективно?
(Я использую это для вычисления "дна" для моей гистограммы с накоплением)