У меня есть список списка, содержимое которого следует прочитать и сохранить в структурированном словаре.
my_list = [
['1', 'a1', 'b1'],
['', 'a2', 'b2'],
['', 'a3', 'b3'],
['2', 'c1', 'd1'],
['', 'c2', 'd2']]
1-й, 2-й, 3-й столбцы в каждой строке представляют 'id'
, 'attr1'
, 'attr2'
.Если 'id'
в строке не пусто, новый объект начинается с этого 'id'
.В приведенном выше примере есть два объекта.Объект с 'id'
, являющимся '1'
, имеет 3 элемента как 'attr1'
, так и 'attr2'
;в то время как объект с 'id'
, являющимся '2'
, имеет 2 элемента: 'attr1'
и 'attr2'
.В моем реальном приложении может быть больше объектов, и каждый объект может иметь произвольное количество элементов.
Для этого конкретного примера результат должен быть
my_dict = {
'id': ['1', '2'],
'attr1': [['a1', 'a2', 'a3'], ['c1', 'c2']]
'attr2': [['b1', 'b2', 'b3'], ['d1', 'd2']]
Не могли бы вы показатьКак написать общий и эффективный код для его достижения?
Спасибо!