知行编程网知行编程网  2022-12-17 00:30 知行编程网 隐藏边栏  8 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python3枚举类如何处理重复名称?的相关知识,包括王者名重复用什么代码,以及python重复元素判定这些编程知识,希望对大家有参考作用。

各位朋友过滤掉重名并不难。那么,如果发现有重名,你会如何解决呢?作为python爱好者,小编优先考虑此类方法。在处理重名方面,小编选择了使用python3中的枚举方式来操作。没听说过的朋友也可以试试这个新方法,可能比以前的方法更有用。

当枚举成员有重名时,后面的枚举成员相当于第一个枚举成员的别名,在实际使用中,是第一次出现的枚举成员。

class Shape(Enum):
    SQUARE = 2
    DIAMOND = 1
    CIRCLE = 3
ALIAS_FOR_SQUARE = 2


如下所示,ALIAS_FOR_SQUARE就是SQUARE的别名,就比如“星期日”和“星期天”都可以表示星期七一样,当遇到这种情况我们也可以这样用。




如果你尝试遍历枚举类型,则不会打印后续重复。但是,如果我们想要获取别名,我们可以使用属性“__members__”,它是一个包含所有定义的枚举名称(包括别名)的 OrderedDict。

for name, member in Shape.__members__.items():
print( name, member )

枚举类型默认可以对同一个值使用别名,但是有时候我们需要保证枚举类型不能重复,我们也有办法让每个枚举值只出现一次。我们可以引入装饰器“@unique”,它会遍历枚举成员,如果发现有重复的就立即抛出“ValueError”。

from enum import Enum, unique
@unique
class Mistake(Enum):
    ONE = 1
    TWO = 2
    THREE = 3
    FOUR = 3
 
Traceback (most recent call last):
ValueError: duplicate values found in <enum 'Mistake'>: FOUR -> THREE

本篇Python3枚举类处理重复名称的方法到这里就结束了,操作代码都在上方,小伙伴们可以直接使用。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享