Перевести таблицу в иерархический словарь?

У меня есть таблица вида:

A1, B1, C1, (value)
A1, B1, C1, (value)
A1, B1, C2, (value)
A1, B2, C1, (value)
A1, B2, C1, (value)
A1, B2, C2, (value)
A1, B2, C2, (value)
A2, B1, C1, (value)
A2, B1, C1, (value)
A2, B1, C2, (value)
A2, B1, C2, (value)
A2, B2, C1, (value)
A2, B2, C1, (value)
A2, B2, C2, (value)
A2, B2, C2, (value)

Я хотел бы работать с ней в питоне как со словарем вида:

H = {
    'A1':{
        'B1':{
            'C1':[],'C2':[],'C3':[] },
        'B2':{
            'C1':[],'C2':[],'C3':[] },
        'B3':{
            'C1':[],'C2':[],'C3':[] }
    },
    'A2':{
        'B1':{
            'C1':[],'C2':[],'C3':[] },
        'B2':{
            'C1':[],'C2':[],'C3':[] },
        'B3':{
            'C1':[],'C2':[],'C3':[] }
    }
}

Так что H[A][B][C]дает конкретный уникальный список значений. Для небольших словарей я мог бы просто заранее определить структуру, как указано выше, но я ищу эффективный способ перебора таблицы и создания словаря без предварительного указания ключей словаря.

8
задан martineau 7 August 2017 в 04:15
поделиться