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

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

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

Privacy Policy Terms of Use

SitemapContact Us