Tengo un proyecto de conversión de una base de datos a otra. Una de las columnas de la base de datos original define la categoría de la fila. Esta columna debe asignarse a una nueva categoría en la nueva base de datos.Mapeo uno a uno de Python (creación de clases de equivalencia)
Por ejemplo, vamos a suponer las categorías originales son: parrot, spam, cheese_shop, Cleese, Gilliam, Palin
Ahora que es un poco más detallado para mí, y yo quiero tener estas filas categorizados como sketch, actor
- es decir, definir todos los bocetos y todos los actores como dos clases de equivalencia.
>>> monty={'parrot':'sketch', 'spam':'sketch', 'cheese_shop':'sketch',
'Cleese':'actor', 'Gilliam':'actor', 'Palin':'actor'}
>>> monty
{'Gilliam': 'actor', 'Cleese': 'actor', 'parrot': 'sketch', 'spam': 'sketch',
'Palin': 'actor', 'cheese_shop': 'sketch'}
que es bastante awkward- yo preferiría tener algo como:
monty={ ('parrot','spam','cheese_shop'): 'sketch',
('Cleese', 'Gilliam', 'Palin') : 'actors'}
Pero esto, por supuesto, pone toda la tupla como clave:
>>> monty['parrot']
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
monty['parrot']
KeyError: 'parrot'
Alguna idea de cómo crear un diccionario elegante de muchos a uno en Python?
Gracias,
Adam
Mira esta elegante [respuesta] (http://stackoverflow.com/a/11105962/355230) a una pregunta similar. – martineau