我是Python的新手,并试图创建一个从字典继承的类,同时具有属性名称reversemap。 reversemap属性是另一个字典,它包含主字典中值的键。示例如下: -
v_end
当我尝试将一个指定给hh ['1']时,它会抛出错误说明 self.reversemap [item] = key AttributeError:'DictWithReverseMap'对象没有属性'reversemap'
任何想法?感谢。
答案 0 :(得分:1)
您没有使用超类(dict
)中的函数。这是你应该如何实现它
class DictWithReverseMap(dict):
def __init__(self):
super(DictWithReverseMap, self).__init__()
self.reversemap = dict()
def __setitem__(self, key, item):
super(DictWithReverseMap, self).__setitem__(key, item)
self.reversemap[item] = key
hh= DictWithReverseMap()
hh['1'] = "a"
hh['2'] = "a"
hh['3'] = "b"
print hh.keys()
print hh['1'] # Remember to use quote around the number 1
print hh.reversemap['b'] # Remember to use quote around the letter b