Мне нужно решить что-то, что было бы довольно просто для меня в PHP, но я не знаю, как это сделать в Python.Объединить значения списков внутри словаря
Пусть у меня есть следующий словарь:
data = {'year': [], 'week': [], 'value': []}
все списки будут всегда иметь одинаковую длину, поэтому возможное значение данных будет:
{'year': ['2014', '2014', '2014'], 'week': ['44', '49', '49'], 'value': [15, 20, 30]}
То, что я пытаюсь сделать :
Когда итерация список 'неделя':
· Если текущая неделя имеет то же значение, что и следующая в списке:
·· Перезаписать эту неделю следующей, переписать год следующим образом и суммировать значения с теми же индексами, что и неделя.
Что я ожидаю получить:
Так результат будет:
{'year': ['2014', '2014'], 'week': ['44', '49'], 'value': [15, 50]}
Что я пробовал:
· Итерации над словарем, но зато мой бедный знание python, я получил ошибки, такие как object of type 'bool' has no len()
при попытке построить цикл for
. (Я использовал конструкции for i in range len(dictionary.index)
)
· Отъезд itertools
и collections
, но я не могу найти что-либо, что подходит.
· Пошаговое руководство простейшим способом: перескакивание списков из словаря в другой список, а затем сравнение элементов по одному, сохранение значений в другой список и т. Д.
Любые идеи или документация для проверки? (Кроме постоянно учиться питона)
Потрясающе, я проверил '' groupby' но enumerate' было то, что я пропускал о том, как использовать его в качестве индекса, среди прочего ... Кроме того, это сладкий «пуфонический» способ TFYH – zedee