class Foo(Enum):
a = 0
b = 1
c = 2
bar = random.choice(Foo)
Но этот код не работает, как я могу это сделать?
Ответ 1
An Enum не является последовательностью, поэтому вы не можете передать его в random.choice(), который пытается выбрать индекс между 0 и len(Foo). Как и словарь, индексный доступ к Enum вместо этого ожидает, что имена перечислений будут переданы, поэтому Foo[<integer>] здесь не работает с KeyError.