我想用一組預定義的有效鍵實現兩個不同的字典。另外,一本詞典包含另一本。class otherdict (dict):
_keys = ['a','b']
def __init__(self):
for key in self._keys:
self[key] = none
def populatedict(self):
self['b'] = 10
self['a'] = 12
class mydict(dict):
_keys = ['r','ed']
def __init__(self):
for key in self._keys:
self[key] = none
def __getitem__(self, key):
if key not in self._keys:
raise exception("'" + key + "'" + " is not a valid key")
dict.__getitem__(self,key)
def __setitem__(self, key, value):
if key not in self._keys:
raise exception("'" + key + "'" + " is not a valid key")
dict.__setitem__(self,key,value)
def populatedict(self):
d = otherdict()
d.populatedict()
self['r'] = 3
self['ed'] = d
a = mydict()
a.populatedict()
print a['ed'].__class__ #prints
問題是,由於某種原因,我無法訪問位於「ed」鍵下的詞典。我在這裡做錯什麼了?
我還注意到,如果刪除__getitem__()方法,**將正常工作
dict字典 dict的操作
1.字典 dict 用 來表示 鍵值對資料 唯一性 鍵 都必須是可雜湊的 不可變的資料型別就可以當做字典中的鍵 值 沒有任何限制 1.1 字典的建立 1 dic 2 fromkeys fromkeys 函式用於建立乙個新字典,以序列 seq 中的每個元素做字典的鍵,value 為字典所有鍵對應的初始...
python類中實現dict的功能
dict的賦值和取值,形如 賦值test key value 取值test key 這兩個表達方式的本質是類中的兩個例項方法 setitem 和 getitem 直接上 class testsetandget kk def setitem self,key,value self.kk key val...
dict的基本使用
語法如下 1 dict1 2 print dir dict1 34 獲取到所有的key值5 print dict1.keys 6 for key in dict1.keys 7 print key 89 獲取所有的value值10 for value in dict1.values 11 print...