ComplexDict

 

อยากได้ดิกฯ แบบที่สามารถเติมข้อมูลได้ ทั้งแนวกว้างและแนวลึก
และให้เป็นข้อมูลแบบ Stack ด้วย
เราใช้วิธีการสร้างลิสต์ในดิกฯ โดย
สร้างคลาสชื่อ ComplexDict ดังนี้

class ComplexDict:
  def __init__(self, key):
    self.__list__ = []
    key = str(key)
    self.__list__.append([key,[]])

  def add_key(self, key):
    if not self.has_key(key):
      self.__list__.append([key,[]])

  def __repr__(self):
    return repr(dict(self.__list__))

  def __getitem__(self, key):
    _keys = self.keys()
    if key in _keys:
      index = _keys.index(key)
      return self.__list__[index][1]

  def __delitem__(self, key):
    if self.has_key(key):
      self[key] = []
Subscribe to RSS - ComplexDict
 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.