gpt4 book ai didi

python - 为枚举创建值查找列表

转载 作者:行者123 更新时间:2023-12-02 06:31:56 25 4
gpt4 key购买 nike

我想在 Enum 中添加一个查找列表作为静态变量。我能做的最好的就是

class Seed(IntEnum):
HEARTS = 0
DIAMONDS = 1
SPADES = 2
CLUBS = 3
@staticmethod
def value_list():
Seed.list = [s.value for s in Seed]

然后在我必须做的代码中

Seed.value_list()

初始化变量list,这样它不是静态的,但对于所有实例都是相同的。然后我就可以使用

Seed.list

有办法做到这一点吗?

最佳答案

你可以写一个类 decorator :

def values_list(enum_cls):
# create the values_list attribute and then return the class
enum_cls.values_list = [member.value for member in enum_cls]
return enum_cls

@values_list
class Seed(IntEnum):
HEARTS = 0
DIAMONDS = 1
SPADES = 2
CLUBS = 3

print(Seed.values_list)
# [0, 1, 2, 3]

关于python - 为枚举创建值查找列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56683079/

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