[英]Python dict-like device for key-value pairs that allows enums as keys
我有 2 個繼承自枚舉的類,我們稱它們為 Class1 和 Class2,即
class Class1(Enum):
ItemA = 'ItemA'
ItemB = 'ItemB'
ItemC = 'ItemC'
對於 Class1 中的每個項目,我想要一個字典,其中包含 Class2 中的鍵和 Class1 中的值。 基本上我需要這樣的東西,一個 static object ,我可以在整個應用程序中訪問它:
d = {Class1.ItemA: {Class2.ItemX: Class1.ItemB, Class2.ItemY: Class1.ItemC},
Class1.ItemB: {Class2.ItemX: Class1.ItemD, Class2.ItemY: Class1.ItemE}}
我怎樣才能做到這一點,以便我仍然可以利用字典的內置魔法,例如:
if Class1.ItemA in d
任何反饋表示贊賞:)
通過創建自定義 class 字典:
class Class1KeyDictionary():
def __init__(self, *args):
# Expect iterable of (key, value) pairs
self.dictionary = {key.value: value for key, value in args}
def __contains__(self, key):
return key.value in self.dictionary
Python 類應該具有在字典查找中使用的唯一 id,這意味着在大多數情況下不需要這種覆蓋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.