J Kenneth King wrote:

Keep in mind that nested comprehensions are still available because
they do have a use case that justifies their existence.

Nested comprehensions are available because because the syntax makes them available by default and making a fiddly exception would be contrary to Python's style. A list comp creates an iterable. A list comp requires use of an iterable. Therefore, a list comp may use a list comp.

However, I
think the Python documentation warns against their use because people
might rely on them for problems where they aren't necessary and since
they are difficult to read... it can lead to difficult to read code.

Whenever the expression that results in the iterable used by a list comp is sufficiently complex, readability is improved by pulling it out as a separate statement. Nested list comps are often examplex of such sufficiently complex expressions, but not the only possible one.

tjr

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to