Python | Nested List Comprehension
List Comprehension is a beautiful feature of Python. But most of the Python beginners (like me) get confused when it comes to nested list comprehension. So I thought to write few lines of Python code that might help you to understand it better. Can you figure out the output of the following statement? [(x, y) for x in range(1, 5) for y in range(0, x)] Here is the output: [(1, 0), (2, 0), (2, 1), (3, 0), (3, 1), (3, 2), (4, 0), (4, 1), (4, 2), (4, 3)] If you could figure it out correctly, you don't need to read the rest of the post. Now, look at the following code >>> for x in range(1, 5): ... for y in range(0, x): ... print x, y ... 1 0 2 0 2 1 3 0 3 1 3 2 4 0 4 1 4 2 4 3 >>> This is actually same as [(x, y) for x in range(1, 5) for y in range(0, x)] Now think about it, experiment with your own ideas and things will be clear. :)