我正在尝试创建一个辅助函数,将枚举的值转换为列表。
如果我这样做,它就会起作用:
from enum import Enum
class TestEnum(Enum):
item1 = 'Def1',
item2 = 'Def2',
item3 = 'Def3',
@staticmethod
def createListFromEnum(enum):
return [elem.value[0] for elem in enum]
print(createListFromEnum(TestEnum))
哪些输出:
['Def1','Def2','Def3']
但是如果我不在最后一项后面加上尾随逗号,我会得到:
['Def1','Def2','D']
因为由于某种原因最终条目没有注册为元组。我已经查看了将枚举转换为值列表的其他响应,但它们似乎都没有解决这个问题。
最佳答案
枚举中不需要逗号。
我想这就是你想要的:
from enum import Enum
class TestEnum(Enum):
item1 = 'Def1'
item2 = 'Def2'
item3 = 'Def3'
def createListFromEnum(enum):
return [elem.value for elem in enum]
print(createListFromEnum(TestEnum))
输出:
['Def1', 'Def2', 'Def3']
请参阅文档:https://docs.python.org/3/library/enum.html#creating-an-enum
关于python - 枚举后需要逗号才能正确输出要列出的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50513318/