Я думаю, форма ответа @timgeb верна.Но если преобразование словаря не является вариантом, вы всегда можете найти его, что, я думаю, будет иметь те же последствия для производительности, что и преобразование в первую очередь:
nicknames_by_name = {...}
def find_name(nickname_to_find);
for name, nicknames in nicknames_by_name.items():
for nickname in nicknames:
if nickname == nickname_to_find:
return name
Это должно помочь, без предварительного преобразования словаря.Опять же, если поиск будет происходить более одного раза, преобразование словаря до того, как произойдет какой-либо поиск, ускорит последующий поиск, хотя это применимо только в том случае, если псевдонимы уникальны.