为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不重新定义的情况下提取 python 枚举子集?

如何在不重新定义的情况下提取 python 枚举子集?

慕的地6264312 2021-10-12 16:35:07
如何在不重新定义的情况下提取 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


查看完整回答
反对 回复 2021-10-12
  • 3 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号