Рассмотрим следующий упрощенный случай:
lol = [['John','Polak',5,3,7,9],
['John','Polak',7,9,2,3],
['Mark','Eden' ,0,3,3,1],
['Mark','Eden' ,5,1,2,9]]
Каким был бы питон и память + экономичный способ преобразования этого списка в список списков-of-списков на основе первых двух параметров:
lolol = [[['John','Polak',5,3,7,9],
['John','Polak',7,9,2,3]],
[['Mark','Eden' ,0,3,3,1],
['Mark','Eden' ,5,1,2,9]]]
На самом деле - любая другая структура данных также будет в порядке, если у меня есть правильная иерархия.Например, на ум приходит следующая словарная структура, но ее создание кажется недостаточно эффективным, быстродействующим, и объем памяти, вероятно, будет выше, чем у решения lolol.
dolol = {('John','Polak'):[[5,3,7,9],[7,9,2,3]],
('Mark','Eden') :[[0,3,3,1],[5,1,2,9]]}