Да, это лучшее решение, потому что они реализованы в виде хеш-таблиц, обеспечивая приблизительно постоянное время поиска (если хеш-функция хороша). Двоичные деревья дают логарифмическое время поиска, if
цепочки линейного времени. Хеш-таблицы обычно подходят, если нужно представить отображение из не слишком большого конечного набора в какой-либо другой набор.
Кстати, Python - очень хороший язык для изучения, потому что в Python часто самое простое решение также является лучшим.