Чтобы проиллюстрировать, что я имею в виду, вот пример
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
и т. Д.