我有一段代码:
class FileType(Enum):
BASIC = 0
BASIC_CORRUPTED = 1
BASIC_SHITTY_END = 2
MIMIKATZ = 3
HASHCAT = 4
def __eq__(self, v):
"""
Override == in order to make `FileType.BASIC == 0` equals to True, etc.
"""
return self.value == v if isinstance(v, int) else self.value == v.value如果我想要执行以下操作,我想知道应该添加什么:random_array[FileType.MIMIKATZ]。目前,Python3告诉我TypeError: list indices must be integers or slices, not FileType
发布于 2019-06-18 14:05:38
您的类应该从IntEnum继承,这支持类似整数的行为。从医生那里,
可以将
IntEnum的成员与整数进行比较;通过扩展,还可以比较不同类型的整数枚举:
from enum import IntEnum
class FileType(IntEnum):
BASIC = 0
BASIC_CORRUPTED = 1
BASIC_SHITTY_END = 2
MIMIKATZ = 3
HASHCAT = 4现在可以使用枚举常量来索引列表,
data = [1, 2, 3, 4]
data[FileType.MIMIKATZ]
# 4https://stackoverflow.com/questions/56650979
复制相似问题