Ich habe ein Projekt zum Konvertieren einer Datenbank in eine andere. Eine der ursprünglichen Datenbankspalten definiert die Kategorie der Zeile. Diese Spalte sollte einer neuen Kategorie in der neuen Datenbank zugeordnet werden.Python-Viele-zu-Eins-Mapping (Erstellen von Äquivalenzklassen)
Zum Beispiel nehmen wir an, die ursprünglichen Kategorien sind: parrot, spam, cheese_shop, Cleese, Gilliam, Palin
Nun, da für mich ein wenig weitschweifig ist, und ich will diese Zeilen als sketch, actor
kategorisiert haben - das heißt, definieren alle Skizzen und alle Akteure zwei Äquivalenzklassen.
>>> 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'}
, die ganz awkward- ist würde ich so etwas wie lieber mit:
monty={ ('parrot','spam','cheese_shop'): 'sketch',
('Cleese', 'Gilliam', 'Palin') : 'actors'}
Aber dies natürlich setzt die gesamte Tupel als Schlüssel:
>>> monty['parrot']
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
monty['parrot']
KeyError: 'parrot'
Irgendwelche Ideen, wie man Erstellen Sie ein elegantes Viele-zu-Eins-Wörterbuch in Python?
Danke,
Adam
Überprüfen Sie diese elegante [Antwort] (http://StackOverflow.com/a/11105962/355230) auf eine ähnliche Frage. – martineau