Python offers an "extended" form of list comprehensions that lets you combine iteration over nested data structures.
The irony is that the extensions have a left-to-right order again, but because you have to awkwardly combine them with the rest of the clause that is still right-to-left, those comprehensions become completely unreadable unless you know exactly how they work.
E.g., consider a list of objects that themselves contain lists:
toolboxes = [
Box(tools=["hammer"]),
Box(tools=["wrench", "screwdriver"])
]
To get a list of lists of tools, you can use the normal comprehension: toolsets = [b.tools for b in toolboxes]
But to get a single flattened list, you'd have to do: tools = [t for b in toolboxes for t in b.tools]
Where the "t for b" looks utterly mystifying until you realize the "for" clauses are parsed left-to-right as [t (for b in toolboxes) (for t in b.tools)]
while the "t" at the beginning is parsed right-to-left and is evaluated last.