Esempio n. 1
0
 def __setitem__(self, key, value):
     if not is_hashable(key):
         raise TypeError("unhashable type")
     for (i, (k, v)) in enumerate(self.contents_):
         if k == key:
             self.contents_[i] = (k, value)
             return
     self.contents_.append((key, value))
Esempio n. 2
0
 def __delitem__(self, key):
     if not is_hashable(key):
         raise TypeError("unhashable type")
     for (i, (k, v)) in enumerate(self.contents_):
         if k == key:
             del self.contents_[i]
             return
     raise KeyError(key)
Esempio n. 3
0
 def __getitem__(self, key, default=_MISSING):
     if not is_hashable(key):
         raise TypeError("unhashable type")
     for (k, v) in self.contents_:
         if k == key:
             return v
     if default is _MISSING:
         raise KeyError(key)
     return default
Esempio n. 4
0
 def __getitem__(self, key, default=_MISSING):
     if not is_hashable(key):
         raise TypeError('unhashable type')
     for (i, (k, v)) in enumerate(self.contents_):
         if k == key:
             return v
     if default is _MISSING:
         raise KeyError(key)
     return default