From: Raymond Hettinger Date: Tue, 1 Nov 2022 04:44:40 +0000 (-0500) Subject: GH-98766: Modest speed-up from ChainMap.__iter__ (GH-98946) X-Git-Tag: v3.12.0a2~179 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f5afb7f2331efa8f64080576a75517c3a96442b9;p=thirdparty%2FPython%2Fcpython.git GH-98766: Modest speed-up from ChainMap.__iter__ (GH-98946) --- diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py index 58607874be93..f07ee143a5af 100644 --- a/Lib/collections/__init__.py +++ b/Lib/collections/__init__.py @@ -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):