range(5): counts 0 to 4 #
for num in range (5):
print (num)output:
0 1 2 3 4
range(1, 5): specify start and end #
for num in range (1,5):
print (num)output:
1 2 3 4
range(1, 10, 2): add a step #
for num in range (1,10,2):
print (num)output:
1 3 5 7 9
range(5, 1, -1): count backwards #
for num in range (5,1,-1):
print (num)output:
5 4 3 2
range(len(list1)): use the list length as the range #
list1 = [2,3,6,9,1]
for num in range (len(list1)):
print (num)output:
0 1 2 3 4
Squaring: a for loop vs a one-liner (list comprehension) #
list1 = [1,2,3,4,10]
list2 =[]
for num in list1:
list2.append(num**2)
print (list2)
list3 = []
list3 = [num**2 for num in list1]
print (list3)output:
[1, 4, 9, 16, 100] [1, 4, 9, 16, 100]
Filtering evens: for + if vs a one-liner (list comprehension) #
list1 = [1,2,3,4,10]
list2=[]
for num in list1:
if (num%2==0):
list2.append(num)
print (list2)
list3=[]
list3= [num for num in list1 if num%2==0]
print(list3)output:
[2, 4, 10] [2, 4, 10]
Conditional transform: for + if/else vs a one-liner (list comprehension) #
list1=[1,2,3,4,10]
list2=[]
for num in list1:
if (num%2==0):
list2.append('even')
else:
list2.append('odd')
print (list2)
list3=[]
# list3= [num for num in list1 if num%2==0]
list3 = ['even' if num % 2 == 0 else 'odd' for num in list1]
print(list3)output:
['odd', 'even', 'odd', 'even', 'even'] ['odd', 'even', 'odd', 'even', 'even']
