如果枚举中存在值,则返回True;否则返回True。如果不是,则返回false

一张王牌

如果我遗漏任何明显的东西,我深表歉意。有没有办法查看值是否在枚举中,如果是,则返回True,否则返回False?例如,如果我从python文档中获取以下枚举,

from enum import Enum
class Colour(Enum):
     RED = 1
     GREEN = 2
     BLUE = 3

有什么方法可以执行以下操作或等效操作,而不会引发异常:

colour_test = "YELLOW"
if Colour[colour_test]:
    print("In enum")
else:
    print("Not in enum")
## Output wanted - "Not in enum"
## Actual output - KeyError: "YELLOW"

我知道我可以使用try; except语句,但是我不想在这种情况下使用,因为我想将此条件与其他一些条件一起使用。

Aplet123

枚举有一个__members__字典,您可以检查:

if colour_test in Colour.__members__:
    print("In enum")
else:
    print("Not in enum")

您也可以在中使用通用方法hasattr,但是对于某些非成员,这将返回错误结果"__new__"

if hasattr(Colour, colour_test):
    print("In enum")
else:
    print("Not in enum")

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果list_1中的任何值位于df ['1']中,则返回False,否则返回True

如果单元格值在数组中,则返回true,否则返回false

如果返回TRUE,则IF返回FALSE

如果列表中的所有项目均为true,则返回true,否则返回false

MongoDB:检查对象数组,如果存在则返回true,否则返回false

如果存在联接的数据条目,则返回true(1),否则在MS-SQL中返回false(0)

如果存在重复值,如何返回True和false

SQL-如果最大返回'True'否则为'False'

如果[false]则重击;返回true

python如何“取反”值:如果为true,则返回false,如果为false,则返回true

MySQL:返回表A的所有行,如果表B中存在记录,则返回true | false

numpy:数组的重复蒙版(如果我们之前看过该值,则返回True,否则返回False)

在Haskell中定义一个函数,如果它是由'a'组成的列表,则返回true,否则返回false

在 Cypress 循环中,如果条件满足则返回 true,否则在迭代结束后返回 false

如果记录有两个条件,如何获取Rails 4返回true,否则返回false?

如果列表不共享元素,则尝试返回True,否则返回False。最小码

SQL - 如果客户购买了产品 A,则返回“True”,否则返回“False”

用Java创建一个程序,其中如果年份是a年,则返回true,否则返回false

在Postgresql中,分组后,如果列的任何值为false,则返回false。如果所有值都是true / false,则分别返回true / false

Java:采用2数组查找两个数组中同时存在的元素是否存在(如果存在),否则返回true

如果语句返回true

如果总是返回true

如果语句返回false,则为true

如果数字是素数,如何返回true或false

从json返回特定值(如果存在),否则返回零行

否则返回false时返回true

在目录中搜索特定的文件类型,如果PowerShell中存在该文件,则返回true或false

如果文档存在,MongoDB返回True

Laravel资源如果存在关系则返回true