如何在不重新定义的情况下提取 python 枚举子集?from enum import unique, Enum@uniqueclass MyEnum(Enum): ONE = 1 TWO = 2 THREE = 3 FOUR = 4我想获得相当于而MyDesiredSubset无需再次定义它。@uniqueclass MyDesiredSubset(Enum): THREE = 3 FOUR = 4到目前为止,我尝试过这样的事情,但MyTrySubset被破坏了,代码也很丑陋。@uniqueclass MyTrySubset(Enum): passfor item in MyEnum: setattr(MyTrySubset, item.name, item.value)任何建议如何在MyDesiredSubset不重新定义的情况下获得?
3 回答

12345678_0001
TA贡献1802条经验 获得超5个赞
帕特里克·阿特纳 (Patrick Artner) 的回答包含了我正在寻找的循环遍历枚举的内容,其中 if 语句保留所需元素。
刚刚提取了相关位。
MySubset = Enum("MySubet", [(a.name, a.value) for a in MyEnum if a.value > 2 ] )
似乎相当于(没有唯一的装饰器):
class MySubset(Enum):
THREE = 3
FOUR = 4
添加回答
举报
0/150
提交
取消