Index: Lib/_abcoll.py =================================================================== --- Lib/_abcoll.py (Revision 64013) +++ Lib/_abcoll.py (Arbeitskopie) @@ -329,14 +329,25 @@ else: return True + def iterkeys(self): + return iter(self) + + def itervalues(self): + for key in self: + yield self[key] + + def iteritems(self): + for key in self: + yield (key, self[key]) + def keys(self): - return KeysView(self) + return list(self) def items(self): - return ItemsView(self) + return [(key, self[key]) for key in self] def values(self): - return ValuesView(self) + return [self[key] for key in self] def __eq__(self, other): return isinstance(other, Mapping) and \ @@ -363,9 +374,7 @@ for key in self._mapping: yield key -KeysView.register(type({}.keys())) - class ItemsView(MappingView, Set): def __contains__(self, item): @@ -381,9 +390,7 @@ for key in self._mapping: yield (key, self._mapping[key]) -ItemsView.register(type({}.items())) - class ValuesView(MappingView): def __contains__(self, value): @@ -396,9 +403,7 @@ for key in self._mapping: yield self._mapping[key] -ValuesView.register(type({}.values())) - class MutableMapping(Mapping): @abstractmethod