# List Comprehension with Nested For Loops in Python

## List Comprehension with Nested For Loops

List Comprehension can be written with nested for loops.

Consider the following nested for loops.

``````for i in x:
for k in y:
#append (i, k) to list``````

The above code can be written using List Comprehension as

``[(i,k) for i in x for k in y]``

## Example

In the following program, we take a two lists: x and y. x is a list of some odd numbers, and y is a list of some even numbers. Iterate over elements of x using a For Loop. Inside this For Loop write a For Loop to iterate over the elements of y. This nested For Loop is placed in List Comprehension to create a list of tuples (element from x, element from y).

Python Program

``````x = [1, 3, 5, 7]
y = [2, 4, 6, 8]

output = [(i,k) for i in x for k in y]
print(output)``````
Run Code Copy

Output

``[(1, 2), (1, 4), (1, 6), (1, 8), (3, 2), (3, 4), (3, 6), (3, 8), (5, 2), (5, 4), (5, 6), (5, 8), (7, 2), (7, 4), (7, 6), (7, 8)]``

The equivalent code using For Loops without List Comprehension would be as shown in the following.

Python Program

``````x = [1, 3, 5, 7]
y = [2, 4, 6, 8]

output = []
for i in x:
for k in y:
output.append((i,k))

print(output)``````
Run Code Copy

Output

``[(1, 2), (1, 4), (1, 6), (1, 8), (3, 2), (3, 4), (3, 6), (3, 8), (5, 2), (5, 4), (5, 6), (5, 8), (7, 2), (7, 4), (7, 6), (7, 8)]``

Reference tutorials for the above program

## Summary

In this Python Examples tutorial, we learned how to use List Comprehension with Nested For Loop.

## Related Tutorials

Code copied to clipboard successfully 👍