Python 获取 Enum 中的元素个数的方法

使用 len() 函数获取枚举中的元素数,例如 len(Color)。 len() 函数返回对象的长度(项目数),可以直接传递一个枚举。

from enum import Enum


class Color(Enum):
    RED = 1
    GREEN = 2
    YELLOW = 3


print(len(Color))

上面代码示例的运行结果为 3

Python 获取 Enum 中的元素个数的方法

函数采用的参数可以是序列(字符串、元组、列表、范围或字节)或集合(字典、集合或冻结集合)。

len() 函数返回对象的长度(元素个数)。

from enum import Enum


class Color(Enum):
    RED = 1
    GREEN = 2
    YELLOW = 3
    PURPLE = 1  # 👈️ duplicate value


print(len(Color))  # 👉️ 3

请注意,名称为 PURPLE 的成员的值 1 已包含在枚举中,因此 len() 函数会跳过它。

枚举支持迭代,因此我们可以使用列表推导来获取所有枚举名称或值的列表。

from enum import Enum


class Color(Enum):
    RED = 1
    GREEN = 2
    YELLOW = 3


names = [member.name for member in Color]
print(names) # ['RED', 'GREEN', 'YELLOW']

values = [member.value for member in Color]
print(values) # [1, 2, 3]

如果需要遍历枚举,也可以使用简单的 for 循环。

from enum import Enum


class Color(Enum):
    RED = 1
    GREEN = 2
    YELLOW = 3


for color in Color:
    print(color)
    print(color.name, color.value)
免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » Python 获取 Enum 中的元素个数的方法