[Python-Dev] Examples for PEP 572 (original) (raw)

Steven D'Aprano steve at pearwood.info
Tue Jul 3 22:42:06 EDT 2018


On Tue, Jul 03, 2018 at 09:54:22PM -0400, Terry Reedy wrote:

>     results = [(x, y, x/y) for x in inputdata for y in [f(x)] if y > 0]

Would (f(x),) be faster?

There is a deferred feature request to optimize "for x in [item]" as equivalent to "for x in (item,)", to avoid constructing a list:

https://bugs.python.org/issue32856

Since it only affects the internal byte-code, not visible semantics (aside from speed and memory) I think that's a neat micro-optimization regardless of whether it is applied to comprehensions or regular for-loops or both.

-- Steve



More information about the Python-Dev mailing list