предварительно обрабатывает ваш список в таблице перевода, причем каждое слово имеет свой числовой эквивалент.Это упрощает поиск.
dial_num = [
'a' : 2,
'b' : 2,
'c' : 2.
'd' : 3,
...
]
Затем переведите каждое из ваших слов:
dial_word = [
222 : 'bab',
264 : 'col',
7876 : 'stro'
...
]
Это задание O (N) по длине массива в символах.Теперь у вас есть простой поиск (линейный или логарифм) для данного числа.Если вы хотите дополнительно предварительно обработать dial_word
как хеш-таблицу, у вас будет O (1) поиск.