]> granicus.if.org Git - python/commitdiff
Simplify implementation of __replace__()
authorRaymond Hettinger <python@rcn.com>
Thu, 13 Dec 2007 22:55:52 +0000 (22:55 +0000)
committerRaymond Hettinger <python@rcn.com>
Thu, 13 Dec 2007 22:55:52 +0000 (22:55 +0000)
Doc/library/collections.rst
Lib/collections.py

index 403d00f856c2e32bc27bd2b346fc02c20a4a98dd..fc524083341f93d3547550e971ed110f0bd264da 100644 (file)
@@ -396,7 +396,7 @@ Example::
                return dict(zip(('x', 'y'), self))
            def __replace__(self, **kwds):
                'Return a new Point object replacing specified fields with new values'
-               return Point(**dict(zip(('x', 'y'), self) + kwds.items()))
+               return Point(**dict(zip(('x', 'y'), self), **kwds))
            x = property(itemgetter(0))
            y = property(itemgetter(1))
 
index e551f20d8e1822f7e921e5892ffe0bb7a57cb1c5..0b0a26bb46129af9c1ae0c740db7921f734bd43c 100644 (file)
@@ -70,7 +70,7 @@ def namedtuple(typename, field_names, verbose=False):
             return dict(zip(%(field_names)r, self))
         def __replace__(self, **kwds):
             'Return a new %(typename)s object replacing specified fields with new values'
-            return %(typename)s(**dict(zip(%(field_names)r, self) + kwds.items()))  \n''' % locals()
+            return %(typename)s(**dict(zip(%(field_names)r, self), **kwds))  \n''' % locals()
     for i, name in enumerate(field_names):
         template += '        %s = property(itemgetter(%d))\n' % (name, i)
     if verbose: