We've seen how powerful list comprehensions and generator expressions can be. And they are, don't get me wrong, but the feeling that I have when I deal with them is that their complexity grows exponentially. The more you try to do within a single comprehension or a generator expression, the harder it becomes to read, understand, and therefore maintain or change.
If you check the Zen of Python again, there are a few lines that I think are worth keeping in mind when dealing with optimized code:
>>> import this
...
Explicit is better than implicit.
Simple is better than complex.
...
Readability counts.
...
If the implementation is hard to explain, it's a bad idea.
...
Comprehensions and generator expressions are more implicit than explicit, can be quite difficult to read and understand, and they can be hard to explain...