In this article we will discuss different ways to iterate over a list.
Iterate over the list using for-in loop
Its easies solution to iterate over the list i.e.
''' Iterate over the list using for loop ''' for word in wordList: print(word)
Output
hi hello this that is of
Iterate over the list using while loop
- Fist get the size of list
- Then iterate using while loop from 0 to len(list) – 1
- In each iteration access iTh element
''' Iterate over the list using while loop ''' i = 0 sizeofList = len(wordList) while i < sizeofList : print(wordList[i]) i += 1
Output:
hi hello this that is of
It has an advantage as compared to for-in loop. In each iteration, we know the index too. So, suppose if we want to iterate over the elements at odd number position only. Then with while loop we can do that i.e.
''' Iterate over the odd number position elements in list using while loop ''' i = 0 sizeofList = len(wordList) while i < sizeofList : if i % 2 == 1 : print(wordList[i]) i += 1
Output:
Frequently Asked:
hello that of
Iterate over the list using for loop and range()
It too provides the access to index while iterating i.e.
''' Iterate over the list using for loop and range() ''' for i in range(len(wordList)) : print(wordList[i]) i += 1
Output:
hi hello this that is of
Iterate over the list using List Comprehension
Its a single line solution i.e.
''' Iterate over the list using List Comprehension ''' [print(i) for i in wordList]
Output
hi hello this that is of
Complete example is as follows,
def main(): wordList = ['hi', 'hello', 'this', 'that', 'is', 'of'] ''' Iterate over the list using for loop ''' for word in wordList: print(word) print("*************") ''' Iterate over the list using while loop ''' i = 0 sizeofList = len(wordList) while i < sizeofList : print(wordList[i]) i += 1 print("*************") ''' Iterate over the odd number position elements in list using while loop ''' i = 0 sizeofList = len(wordList) while i < sizeofList : if i % 2 == 1 : print(wordList[i]) i += 1 print("*************") ''' Iterate over the list using for loop and range() ''' for i in range(len(wordList)) : print(wordList[i]) i += 1 print("*************") ''' Iterate over the list using List Comprehension ''' [print(i) for i in wordList] if __name__ == '__main__': main()
Output:
hi hello this that is of ************* hi hello this that is of ************* hello that of ************* hi hello this that is of ************* hi hello this that is of
Just a heads up…the example for
Iterate over the list using for loop and range()
should not include the i += 1 to actually iterate through the whole list as you can see in the output it produced…it is skipping values. You need to remove that to work like the other examples.