python - 枚举后需要逗号才能正确输出要列出的值

标签 python enums type-conversion

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

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

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/

相关文章:

python - 使用 iterparse() 解析大型 XML 会消耗太多内存。还有其他选择吗?

c++ - 根据枚举成员的值特化模板

python - 在 Pandas 中将列转换为字符串

c++ - 如何将 unsigned char * 的内容转换为 const char *?

python - R中有z.fill函数吗

python - Scrapy 如何使用 Loader 忽略带有空白字段的项目

java - 加密 - 使用 AES/BlowFish/DESede 和 Enum 解密

go - 将来自控制台的字符串输入片段转换为数字片段

python - 是否可以在 Tkinter 下拉菜单中获取用户文本输入?如果是这样,怎么办?

C# enum.ToString() 装箱 : resolve or supress?