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は非常に柔軟で、多くの場面で役立ちます。特に、変数が限定された選択肢の一つを取る場合に有用です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です