Суммирование итерации для расчета «дна» для столбчатой ​​диаграммы с накоплением - PullRequest
0 голосов
/ 02 июля 2018

Я создал список списков:

 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]]

Проблема в том, что это занимает много времени, когда у меня много данных. Как я могу написать это более эффективно? (Я использую это для вычисления "дна" для моей гистограммы с накоплением)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...