[解決済み] PythonでintをEnumに変換する方法は?
2022-08-21 07:38:16
質問
新しいEnum機能(via バックポート enum34 を経由して) Python 2.7.6 で使用しています。
以下の定義がある場合、どのようにintを対応するEnumの値に変換することができますか?
from enum import Enum
class Fruit(Enum):
Apple = 4
Orange = 5
Pear = 6
私は変換を行うために一連のifステートメントを手で作ることができることを知っていますが、変換するための簡単なpythonic方法はありますか?基本的に、私はenum値を返す関数ConvertIntToFruit(int)が欲しいです。
私の使用例は、私が各レコードをオブジェクトに読み込んでいるレコードのcsvファイルを持っていることです。 ファイル フィールドの 1 つは、列挙型を表す整数フィールドです。 オブジェクトに入力する際に、ファイルからその整数フィールドをオブジェクトの対応するEnum値に変換したいと思います。
どのように解決するのですか?
を「呼び出す」のです。
Enum
クラスを呼び出します。
Fruit(5)
を回す
5
を
Fruit.Orange
:
>>> from enum import Enum
>>> class Fruit(Enum):
... Apple = 4
... Orange = 5
... Pear = 6
...
>>> Fruit(5)
<Fruit.Orange: 5>
からの 列挙メンバとその属性へのプログラムによるアクセス のセクションを参照してください。
列挙型のメンバにプログラムからアクセスするのが便利な場合があります。 プログラム的にアクセスするのが便利な場合があります (例.
Color.red
では対応できないような場合です。 ができないような場合です)。Enum
ではこのような にアクセスできるようになります。>>> Color(1) <Color.red: 1> >>> Color(3) <Color.blue: 3>
関連するメモ: という名前 を含む文字列の値をマッピングするには、サブスクリプションを使用します。
>>> s = 'Apple'
>>> Fruit[s]
<Fruit.Apple: 4>
関連
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?