Comprehension with two variables - explanation needed
Skip Montanaro
skip.montanaro at gmail.com
Sun Nov 23 11:45:08 EST 2014
On Sun, Nov 23, 2014 at 9:57 AM, Roy Smith <roy at panix.com> wrote:
>
> If it was complicated enough that you needed to loopify it to
> understand what it's doing, have pity on the next person who has to
> maintain your code and leave it as a loop
Well, sure. I was mostly trying to give Ivan a path out of the weeds.
Poking through the code I'm involved with at work, using a crude
measuring stick (a couple regular expressions) I found over 1400 one
line list comprehensions, those which matched this regular expression:
\[.* for .*\]
OTOH, I only found 14 with two "for" keywords:
\[.* for .* for .*\]
(There may well have been more nested loop list comprehensions, simply
because it's hard to cram the full listcomp into 80 columns, my
self-imposed column limit.)
In my experience, list comprehensions rapidly get unwieldy once you
get to nesting them. I generally unravel such items into a nested set
of for loops.
Skip
More information about the Python-list
mailing list