Преобразование между двумя наборами константPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование между двумя наборами констант

Сообщение Anonymous »

У меня есть два перечисления NAME и ALIAS, которые гарантированно содержат одинаковое количество констант, и мне нужен способ преобразования каждой константы из NAME в соответствующую константу из ALIAS. и наоборот. Например:

Код: Выделить всё

def name_to_alias(name):
if name == Name.PAUL:
return Alias.STARCHILD
elif name == Name.GENE:
return Alias.DEMON
...

def alias_to_name(alias):
if alias == Alias.STARCHILD:
return Name.PAUL
elif alias == Alias.DEMON:
return Name.GENE
...
Я не хочу поддерживать две подобные функции (или словаря). В идеале я хотел бы иметь сопоставления перечислений в одной структуре данных, к которой я мог бы получить доступ из обеих функций преобразования.
Я думаю о чем-то вроде:

Код: Выделить всё

mappings = {
Name.PAUL: Alias.STARCHILD
Name.GENE: Alias.DEMON
...
}
Это будет работать для преобразования имени в псевдоним, но при обратном могут возникнуть проблемы (что произойдет, если я сделаю ошибку копирования и вставки и в итоге получу два диктовских ключа с одинаковым значением?). Есть ли простой и безопасный способ добиться этого?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -constants
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»