У меня есть набор запросов django, который возвращает список значений:
[(client pk, timestamp, value, task pk), (client pk, timestamp, value, task pk),....,].
Я пытаюсь получить словарь этого формата:
{client pk:[[timestamp, value],[timestamp, value],...,], client pk:[list of lists],...,}
values_list может иметь несколько записей для каждого клиента pk. Мне удалось получить словари списков для клиента или задачи ПК, используя:
def dict_from_vl(vls_list):
keys=[values_list[x][3] for x in range(0,len(values_list),1)]
values = [[values_list[x][1], values_list[x][2]] for x in range(0,len(values_list),1)]
target_dict=dict(zip(keys,values))
return target_dict
Однако, используя этот метод, значения для того же ключа записываются поверх предыдущих значений при их повторении в списке values_list, а не добавляются в список. Так что это отлично подходит для получения самых последних, если список значений отсортирован по самым старым записям в новейшие, но не для создания списка списков для значения dict.