gpt4 book ai didi

python - 使用枚举项作为列表索引

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:37 25 4
gpt4 key购买 nike

我有这段代码:

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 slice, not FileType

最佳答案

你的类应该继承自 IntEnum相反,这支持类似整数的行为。从文档中,

Members of an IntEnum can be compared to integers; by extension, integer enumerations of different types can also be compared to each other:

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]
# 4

关于python - 使用枚举项作为列表索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56650979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com