从 Python 中的字符串列表创建枚举类

基本的

当我运行这个

from enum import Enum

class MyEnumType(str, Enum):
    RED   = 'RED'
    BLUE  = 'BLUE'
    GREEN = 'GREEN'

for x in MyEnumType:
    print(x)

我按预期得到以下信息:

MyEnumType.RED
MyEnumType.BLUE
MyEnumType.GREEN

是否可以从从其他地方获得的列表或元组创建这样的类?

可能有些相似的东西

myEnumStrings = ('RED', 'GREEN', 'BLUE')

class MyEnumType(str, Enum):
    def __init__(self):
        for x in myEnumStrings :
            self.setattr(self, x,x)

然而,和原来一样,我不想显式实例化一个对象。

威尔·达席尔瓦

您可以为此使用枚举功能 API

from enum import Enum


myEnumStrings = ('RED', 'GREEN', 'BLUE')
MyEnumType = Enum('MyEnumType', myEnumStrings)

从文档:

调用 Enum 的第一个参数是枚举的名称。

第二个参数是枚举成员名称的来源。它可以是空格分隔的名称字符串、名称序列、具有键/值对的 2 元组序列或名称到值的映射(例如字典)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python中字符串列表的列表

从列表 Python 中的字符串创建字符串列表

遍历 Python 中的字符串列表

连接Python中的字符串列表

在python中解析字符串列表

在python中过滤字符串列表

从python中的字符串列表创建给定长度的随机列表

从Python的字符串列表中创建一个整数(和元组)列表

在字符串列表中找到所有子字符串,并创建一个新的匹配子字符串列表。在Python中

字符串列表中的字符串长度python

如何在python中以快速方式从字符串列表中创建词汇表

Python - 如何根据字符串的一部分从字符串列表中创建子列表?

使用Python在字符串列表中查找字符串列表中的项目索引

当输入不分隔时创建字符串列表python

Python:如何从字符串列表创建html表

使用python将子字符串列表查找到字符串列表中

Python从字符串列表中删除字符串列表

将字符串列表转换为python中的列表

字符串列表中的频繁出现的Python列表

如何检查python中字符串列表中的数字?

在python中解析json字符串列表

如何在 Python 中对字符串列表进行排序

如何从Python中的字符串列表制作直方图?

在python中给出了字符串列表

如何从Python的字符串列表中删除numpy nan?

循环遍历python中的字符串列表

在Python中循环遍历字符串列表

Python:要映射的键值对中的字符串列表

在python中对包含数字的字符串列表进行排序