while
while loop in python resembles the tradition C-style loop as follows. This method of looping is NOT very popular in Python although.
alphabets = ["a", "b", "c", "d", "e"]
i = 0
while i < len(alphabets):
print(alphabets[i], end=', ')
i += 1a, b, c, d, e,
range() function
The built-in function range() generates the integer numbers between the given start integer to the stop integer, i.e., It returns a range object.
print("Python range() example")
print("Get numbers from range 0 to 5")
for i in range(5):
print(i, end=', ')Output:
Python range() example Get numbers from range 0 to 5 0, 1, 2, 3, 4,
for : range of length
In a for loop, we can iterate over a sequence of numbers produced by the range() function. First, a range corresponding to the indexes in the list (0 to len(alphabets) – 1) is created. Then, loop over this range using Python’s for-in loop
alphabets = ["a", "b", "c", "d", "e"]
i = 0
while i < len(alphabets):
print(alphabets[i], end = ', ')
i += 1a, b, c, d, e,
for : the normal way
In while loop and range-of-len methods, the purpose of indexes are to retrieve elements from the list. If indexes are not used for any other purpose, a simpler for loop can be used.
alphabets = ["a", "b", "c", "d", "e"]
for letter in alphabets:
print(letter, end = ', ')a, b, c, d, e,
enumerate
If indexes are really needed, then range of length procedure can be used. But in python, there is more elegant way to do that (using enumerate() function).
Python’s built-in enumerate() function allows to loop over a list and retrieve both the index and the value of each item in the list
alphabets = ["a", "b", "c", "d", "e"]
for index, letter in enumerate(alphabets):
print(index, letter)0 a
1 b
2 c
3 d
4 e
number_list = [1, 2, 3]
str_list = ['one', 'two', 'three']
for number, string in zip(number_list, str_list):
print(number, string)1 one
2 two
3 three