У меня есть этот список словарей:Суммировать значения списка словарей
[{'Total Incidents': '1', 'CrimeDate': '05/14/2016'}, {'Total Incidents': '1', 'CrimeDate': '05/14/2016'}, {'Total Incidents': '1', 'CrimeDate': '05/14/2016'}, {'Total Incidents': '1', 'CrimeDate': '05/14/2016'}, {'Total Incidents': '1', 'CrimeDate': '05/14/2016'}, {'Total Incidents': '1', 'CrimeDate': '05/14/2016'}, {'Total Incidents': '1', 'CrimeDate': '05/14/2016'}, {'Total Incidents': '1', 'CrimeDate': '05/14/2016'}, {'Total Incidents': '1', 'CrimeDate': '05/14/2016'}]
Мне нужно преобразовать де значение «Всего инцидентов» к ИНТ, и суммировать их. Кроме того, если даты равны, функция принимает все даты и превращает их в одну. Например, вывод должен быть таким:
[{'Total Incidents': 9, 'CrimeDate':'05/14/2016'}]
Это то, что я пытался до сих пор:
dictf = reduce(lambda x, y: dict((k, v + y[k]) for k, v in x.iteritems()), dict1)
dict1 является переменной, которая содержит первый словарь. Но Ouput не то, что я хотел, это дает мне это:
{'Total Incidents': '111111111', 'CrimeDate': '05/14/201605/14/201605/14/201605/14/201605/14/201605/14/201605/14/201605/14/201605/14/2016'}
Заранее спасибо
И если даты не равны? – wim
Предположим, что есть две даты вместо одной, инциденты суммируются только в том случае, если даты, которые они происходят, одинаковы, поэтому на выходе будет список с двумя словарями вместо одного. – Stagg
И, что вы пробовали до сих пор? – AKS