]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
GH-98766: Modest speed-up from ChainMap.__iter__ (GH-98946)
authorRaymond Hettinger <rhettinger@users.noreply.github.com>
Tue, 1 Nov 2022 04:44:40 +0000 (23:44 -0500)
committerGitHub <noreply@github.com>
Tue, 1 Nov 2022 04:44:40 +0000 (23:44 -0500)
Lib/collections/__init__.py

index 58607874be93d6232607f113dbbcdf87b6323b41..f07ee143a5aff114cfe4b7d923bb9689a886d2ab 100644 (file)
@@ -1011,8 +1011,8 @@ class ChainMap(_collections_abc.MutableMapping):
 
     def __iter__(self):
         d = {}
-        for mapping in reversed(self.maps):
-            d.update(dict.fromkeys(mapping))    # reuses stored hash values if possible
+        for mapping in map(dict.fromkeys, reversed(self.maps)):
+            d |= mapping                        # reuses stored hash values if possible
         return iter(d)
 
     def __contains__(self, key):