要按索引引用枚举,可以使用以下解决方法:
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
red = Color(1)
print(red) # 输出:Color.RED
index = red.value
print(index) # 输出:1
color_by_index = Color(index)
print(color_by_index) # 输出:Color.RED
在这个示例中,我们定义了一个Color枚举类,其中RED的索引为1。然后我们创建了一个red变量,它的值是Color.RED,通过red.value可以获取到RED的索引值。我们还可以通过Color(index)来根据索引值创建枚举值。
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
index = 1
color_by_index = list(Color.__members__.values())[index-1]
print(color_by_index) # 输出:Color.RED
在这个示例中,我们使用Color.members.values()来获取枚举类中所有的枚举值,并将其转换为列表。然后我们可以通过索引来获取指定的枚举值。
这两种方法都可以按索引引用枚举,选择哪种方法取决于你的具体需求。
上一篇:按索引替换现有值