Чтобы проиллюстрировать, что я имею в виду, вот примерсписок Преобразования объектов в список целых чисел и справочной таблицу
messages = [
('Ricky', 'Steve', 'SMS'),
('Steve', 'Karl', 'SMS'),
('Karl', 'Nora', 'Email')
]
Я хочу, чтобы преобразовать этот список и определение групп к списку целые числа и словарь поиска, чтобы каждый элемент в группе получал уникальный идентификатор. Это идентификатор должен сопоставить элемент в таблице поиска, как этот
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']
}
Интересно, если есть элегантное и вещее решение этой проблемы.
Я также открыт для лучшей терминологии, чем create_lookup_list
т.д.
Я просто пытался собрать это вместе, но не получил defaultdict из defaultdict ... хорошо сделано! – PaulMcG