Tengo una tabla de la forma:¿Traducir una tabla a un diccionario jerárquico?
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)
me gustaría trabajar con él en Python como un diccionario, de la forma:
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':[] }
}
}
Para que H[A][B][C]
produce una única lista particular de valores. Para los diccionarios pequeños, podría definir la estructura de antemano como arriba, pero estoy buscando una forma eficiente de iterar sobre la tabla y construir un diccionario, sin especificar las claves del diccionario con anticipación.
¿Siempre busca un triple de valores A, B, C? Si es así, sería mejor con un solo 'dict' usando esos triples como claves. –