PythonのEnumは、一連のシンボリックな名前を一意の値に結びつけるためのものです。Enumのメンバーは、その名前と値を持つ属性を持っています。以下に、PythonのEnumからすべての値をリストとして取得する方法を示します。
from enum import Enum
class Color(Enum):
RED = 1
BLUE = 2
# Enumのすべての値をリストとして取得
values = [e.value for e in Color]
print(values) # 出力:[1, 2]
このコードは、Enum Color
のすべての値をリストとして取得します。
また、Enumからすべての名前をリストとして取得することも可能です。
from enum import Enum
class Color(Enum):
RED = 1
BLUE = 2
# Enumのすべての名前をリストとして取得
names = [e.name for e in Color]
print(names) # 出力:['RED', 'BLUE']
このコードは、Enum Color
のすべての名前をリストとして取得します。
さらに、Enumの拡張を行い、任意のEnumから値や名前のリストを取得するためのメソッドを追加することも可能です。
from enum import Enum
class ExtendedEnum(Enum):
@classmethod
def list(cls):
return list(map(lambda c: c.value, cls))
class Color(ExtendedEnum):
RED = 1
BLUE = 2
print(Color.list()) # 出力:[1, 2]
このコードは、ExtendedEnum
を継承したEnumから値のリストを取得します。
以上のように、PythonのEnumは非常に柔軟で、多くの場面で役立ちます。特に、変数が限定された選択肢の一つを取る場合に有用です。