Pour illustrer ce que je veux dire par là, voici un exempleliste Convertir des objets à une liste d'entiers et une table de consultation
messages = [
('Ricky', 'Steve', 'SMS'),
('Steve', 'Karl', 'SMS'),
('Karl', 'Nora', 'Email')
]
Je veux convertir cette liste et une définition des groupes à une liste de des entiers et un dictionnaire de recherche pour que chaque élément du groupe obtienne un identifiant unique. Cette id doit mapper l'élément dans la table de recherche comme celui-ci
messages_int, lookup_table = create_lookup_list(
messages, ('person', 'person', 'medium'))
print messages_int
[ (0, 1, 0),
(1, 2, 0),
(2, 3, 1) ]
print lookup_table
{ 'person': ['Ricky', 'Steve', 'Karl', 'Nora'],
'medium': ['SMS', 'Email']
}
Je me demande s'il y a une solution élégante et pythonique à ce problème.
Je suis également ouvert à une meilleure terminologie que create_lookup_list
etc
J'essayais juste de mettre cela ensemble, mais je n'ai pas eu le defaultdict d'un defaultdict ... bravo! – PaulMcG