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))
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)
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
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