我有一个
myenum(str, Enum):
COLORRED = 'colorred'
COLORBLUE = 'colorblue'
itemList = [<myenum.COLORRED,'colorred'>]
我试图从itemList 'colored'中获取值,但是itemList.value
在Python中给出了一个类型检查错误,错误消息是“str has no attribute value”。
list(map(str,myenum))给出了键COLORRED,但我需要值'coloured'。我试过String-based enum in Python,但没有一个对我有效。
我的枚举是由openapi自动生成的。下面是YAML。我收到一个myElements数组,需要myEnum中的一个值。
myElements:
type: array
items:
allOf:
- $ref: 'myEnum'
myEnum:
type: String
enum:
- 'state1'
- 'state2'
注意:问题是python中的typecheck没有迭代值。我需要枚举值而不使用。values或。name
3条答案
按热度按时间7vux5j2d1#
看起来您试图使用列表的
.value
属性,而不是其元素。xytpbqjk2#
我不太明白你的意思,但是...
如果你使用的是Python 3.11,你可以使用StrEnum,这样你就可以在不调用
.value
的情况下获取值。还有IntEnum。
ktca8awb3#
我相信你所追求的是列表中枚举的值。如果是这样,这可能是你可以使用的东西。
然而,如果你解释你如何生成你的列表,以及你希望如何使用数据(也许用一个简单的例子),这可能有助于人们更好地理解你的目标。