[Python-Dev] PEP 469: Restoring the iterkeys/values/items() methods

Armin Rigo arigo at tunes.org
Mon Apr 21 09:41:50 CEST 2014


Hi Nick,

On 21 April 2014 07:39, Nick Coghlan <ncoghlan at gmail.com> wrote:
> Notably, I recommend that hybrid code avoid calling mapping iteration
> methods directly, and instead rely on builtin functions where possible,
> and some additional helper functions for cases that would be a simple
> combination of a builtin and a mapping method in pure Python 3 code, but
> need to be handled slightly differently to get the exact same semantics in
> Python 2.

How about explicitly noting that in Python 2, a large fraction of
usages of the iterkeys(), itervalues() and iteritems() methods (that's
more than 99% in my experience, but I might be biased) should just be
written as keys(), values() and items() in the first place, with no
measurable difference of performance or memory usage?  I would
recommend to anyone with a large Python 2 code base to simply do a
textual search-and-replace and see if any test breaks.  If not,
problem solved.


A bientôt,

Armin.


More information about the Python-Dev mailing list