class Map:def __init__(self):self._entryList = list()def __len__(self):return len(self._entryList)def __contains__(self, key):ndx = self._findPosition(key)return ndx is not Nonedef add(self, key, value):ndx = self._findPosition(key)if ndx is not None :self._entryList[ndx].value = valuereturn Falseelse :entry = _MapEntry(key, value)self._entryList.append(entry)return Truedef _findPosition(self, key):for i in range(len(self)) :if self._entryList[i].key == key :return ireturn Nonedef valueOf(self, key):ndx = self._findPosition(key)assert ndx is not None, "Invalid map key"return self._entryList[ndx].valuedef remove(self, key):ndx = self._findPosition(key)assert ndx is not None, "Invalid map key"self._entryList.pop(ndx)def __iter__(self):return _MapIterator(self._entryList)class _MapEntry:def __init__(self, key, value):self.key = keyself.value = valueclass _MapIterator:def __init__(self, entryList):self._entryList = entryListself.ndx = 0def __iter__(self):return selfdef __next__(self):if self.ndx in range(len(self._entryList)) :value = self._entryList[self.ndx].valueself.ndx += 1return valueelse :raise StopIteration
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。