首页 > 解决方案 > 枚举后需要逗号才能正确输出要列出的值

问题描述

我正在尝试创建一个将 Enum 的值转换为列表的辅助函数。

如果我这样做,它会起作用:

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']

因为最终条目由于某种原因没有注册为元组。我已经查看了将枚举转换为值列表的其他响应,但它们似乎都没有解决这个问题。

标签: pythonenumstype-conversion

解决方案


您不需要枚举中的逗号。

我认为这就是你想要的:

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


推荐阅读