Рубрики

Бесконечные итераторы в Python

Итератор в Python — это любой тип Python, который можно использовать с for in loop . Списки Python, кортежи, словари и наборы — все это примеры встроенных итераторов. Но необязательно, чтобы объект итератора истощался, иногда он может быть бесконечным. Такой тип итераторов известен как бесконечные итераторы .

Python предоставляет три типа бесконечных итераторов —

  1. count (начало, шаг): этот итератор начинает печать с номера «start» и печатает бесконечно . Если упоминаются шаги, номера пропускаются, иначе шаг равен 1 по умолчанию. Смотрите пример ниже для его использования с for in цикле.

    Пример:

    # Программа Python для демонстрации
    # бесконечные итераторы

      

    import itertools

      
    # для в цикле

    for i in itertools.count(5, 5):

        if i == 35:

            break

        else:

            print(i, end =" ")

    Выход:

    5 10 15 20 25 30
    
  2. цикл (итерируемый): этот итератор печатает все значения в порядке от переданного контейнера. Он возобновляет печать с начала снова, когда все элементы печатаются циклически.

    Пример № 1:

    # Программа Python для демонстрации
    # бесконечные итераторы

      

    import itertools

      

    count = 0

      
    # для в цикле

    for i in itertools.cycle('AB'):

        if count > 7:

            break

        else:

            print(i, end = " ")

            count += 1

    Выход:

    A B A B A B A B 
    

    Пример № 2: Использование следующей функции.

    # Программа Python для демонстрации
    # бесконечные итераторы

      

    import itertools

      

    l = ['Geeks', 'for', 'Geeks']

      
    # определение итератора

    iterators = itertools.cycle(l)

      
    # для в цикле

    for i in range(6):

          

        # Использование следующей функции

        print(next(iterators), end = " ")

    Выход:

    Geeks for Geeks Geeks for Geeks 
    
  3. repeat (val, num): этот итератор многократно печатает переданное значение бесконечное число раз. Если упомянуто необязательное ключевое слово num , то оно многократно печатает num количество раз.

    Пример:

    # Python-код для демонстрации работы
    # повторение()

        
    # импорт "itertools" для операций итератора

    import itertools 

        
    # используя repeat () для многократной печати номера

    print ("Printing the numbers repeatedly : "

    print (list(itertools.repeat(25, 4)))

    Выход:

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

Рекомендуемые посты:

Бесконечные итераторы в Python

0.00 (0%) 0 votes