Loops in Python Explained

Tue Aug 04 2020

Loop with index

The way we do it here is using the indexes and getting the item with the index each time.

x = [1,3,5,7,9]
sum_squared = 0

for i in range(len(x)):
    sum_squared+=x[i]**2

Loop with actual value

here we skip the index, of course this works only in the case we don't need the index.

x = [1,3,5,7,9]
sum_squared = 0

for y in x:
    sum_squared+=y**2

One Liner

Here we loop over the array and in the same line power the value

x = [1,3,5,7,9]
sum_squared = sum([y**2 for y in x])

Inline Loop with if

Same as above, but with small if to filter the values.

x = [1,2,3,4,5,6,7,8,9]
even_squared = [y**2 for y in x if y%2==0]
--------------------------------------------
[4,16,36,64]

Inline Loop with if/else

Now we use if/else in case we want to handle the mapping in a different way by the value.

x = [1,2,3,4,5,6,7,8,9]
squared_cubed = [y**2 if y%2==0 else y**3 for y in x]
--------------------------------------------
[1, 4, 27, 16, 125, 36, 343, 64, 729]