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]