Infinite Iterators in Python

Iterator in Python is any python type that can be used with a ‘for in loop’. Python lists, tuples, dictionaries, and sets are all examples of inbuilt iterators. But it is not necessary that an iterator object has to exhaust, sometimes it can be infinite. Such type of iterators are known as Infinite iterators.

Python provides three types of infinite iterators –

  1. count(start, step): This iterator starts printing from the “start” number and prints infinitely. If steps are mentioned, the numbers are skipped else step is 1 by default. See the below example for its use with for in loop.

    Example:



    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Python program to demonstrate
    # infinite iterators
      
    import itertools
      
    # for in loop
    for i in itertools.count(5, 5):
        if i == 35:
            break
        else:
            print(i, end =" ")

    chevron_right

    
    

    Output:

    5 10 15 20 25 30
    
  2. cycle(iterable): This iterator prints all values in order from the passed container. It restarts printing from beginning again when all elements are printed in a cyclic manner.

    Example #1:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Python program to demonstrate
    # infinite iterators
      
    import itertools
      
    count = 0
      
    # for in loop
    for i in itertools.cycle('AB'):
        if count > 7:
            break
        else:
            print(i, end = " ")
            count += 1

    chevron_right

    
    

    Output:

    A B A B A B A B 
    

    Example #2: Using next function.

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Python program to demonstrate
    # infinite iterators
      
    import itertools
      
    l = ['Geeks', 'for', 'Geeks']
      
    # defining iterator
    iterators = itertools.cycle(l)
      
    # for in loop
    for i in range(6):
          
        # Using next function
        print(next(iterators), end = " ")

    chevron_right

    
    

    Output:

    Geeks for Geeks Geeks for Geeks 
    
  3. repeat(val, num): This iterator repeatedly prints the passed value infinite number of times. If the optional keyword num is mentioned, then it repeatedly prints num number of times.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Python code to demonstrate the working of  
    # repeat() 
        
    # importing "itertools" for iterator operations 
    import itertools 
        
    # using repeat() to repeatedly print number 
    print ("Printing the numbers repeatedly : "
    print (list(itertools.repeat(25, 4)))

    chevron_right

    
    

    Output:

    Printing the numbers repeatedly : 
    [25, 25, 25, 25]
    


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.