diff options
author | Raymond Hettinger <python@rcn.com> | 2008-01-07 20:56:05 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2008-01-07 20:56:05 (GMT) |
commit | f5e8af1bb7e375e86298ae7a4ee5b6c3e8a22db4 (patch) | |
tree | 8cbfe6aeb3e8a39c55ab396035cec41bb0d13720 | |
parent | fb3ced663dc321310cb319a1b9fcf3d7b7b1deae (diff) | |
download | cpython-f5e8af1bb7e375e86298ae7a4ee5b6c3e8a22db4.zip cpython-f5e8af1bb7e375e86298ae7a4ee5b6c3e8a22db4.tar.gz cpython-f5e8af1bb7e375e86298ae7a4ee5b6c3e8a22db4.tar.bz2 |
Use get() instead of pop() for the optimized version of _replace().
-rw-r--r-- | Doc/library/collections.rst | 2 | ||||
-rw-r--r-- | Lib/collections.py | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst index e797296..fb9b958 100644 --- a/Doc/library/collections.rst +++ b/Doc/library/collections.rst @@ -531,7 +531,7 @@ faster versions that bypass error-checking and localize variable access:: >>> class Point(namedtuple('Point', 'x y')): _make = classmethod(tuple.__new__) def _replace(self, _map=map, **kwds): - return self._make(_map(kwds.pop, ('x', 'y'), self)) + return self._make(_map(kwds.get, ('x', 'y'), self)) Default values can be implemented by using :meth:`_replace` to customize a prototype instance:: diff --git a/Lib/collections.py b/Lib/collections.py index c19821b..099cdd6 100644 --- a/Lib/collections.py +++ b/Lib/collections.py @@ -130,7 +130,7 @@ if __name__ == '__main__': 'Point class with optimized _make() and _replace() without error-checking' _make = classmethod(tuple.__new__) def _replace(self, _map=map, **kwds): - return self._make(_map(kwds.pop, ('x', 'y'), self)) + return self._make(_map(kwds.get, ('x', 'y'), self)) print Point(11, 22)._replace(x=100) |