On Mon, Mar 2, 2009 at 12:07 PM, Raymond Hettinger <python at rcn.com> wrote: > Compromise? > > def __eq__(self, other): > if isinstance(other, OrderedDict): > return all(map(operator.eq, self.items(), other.items())) > if isinstance(other, Mapping): > return dict.__eq__(self, other) > return NotImplemented # Give other a chance; defaults to False > > OrderedDict-to-OrderedDict comparisons are order sensitive -- matching your > intuition > OrderedDict-to-OtherMappings -- allow me and Armin to have our > substitutability for dicts. This sounds fair. Note that dict.__eq__ actually returns NotImplemented if not isinstance(other, dict) so you could tighten the test to isinstance(other, dict) if you wanted to. -- --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4