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:
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

 

Join a list of 2000+ Programmers for latest Tips & Tutorials