Skip to content

Latest commit

 

History

History
64 lines (40 loc) · 5.67 KB

File metadata and controls

64 lines (40 loc) · 5.67 KB

Урок 21. Итератор и итерируемые объекты. Функции iter() и next()

21.1 Итератор

Итератор - это объект в языке программирования Python, который предоставляет последовательный доступ к элементам коллекции или контейнера. Он позволяет перебирать элементы по одному, не раскрывая внутреннюю структуру коллекции.

21.2 Итерируемый объект

Итерируемый объект - это объект, который может быть использован в цикле for для итерации по его элементам. Он должен иметь метод __iter__(), который возвращает итератор. Итератор, в свою очередь, должен иметь методы __iter__() и __next__().

21.3 Функции iter() и next()

Для получения доступа к итератору объекта в Python можно использовать функцию iter(). Функция iter() принимает итерируемый объект в качестве аргумента и возвращает соответствующий итератор.

numbers = [1, 2, 3]
iterator = iter(numbers)

print(next(iterator))  # Выводит 1
print(next(iterator))  # Выводит 2
print(next(iterator))  # Выводит 3

В этом примере мы создаем список numbers и получаем его итератор с помощью функции iter(). Затем мы используем функцию next() для получения следующего элемента из итератора. Каждый вызов next() возвращает следующий элемент в последовательности.

Функция next() используется для получения следующего элемента из итератора. Если больше элементов нет, она вызывает исключение StopIteration, чтобы указать, что итерация завершена.

Таким образом, функция iter() позволяет создать итератор для итерируемого объекта, а функция next() используется для получения следующего элемента из итератора.

Когда итератор дошел до конца коллекции, его уже нельзя вернуть назад и пройти все элементы заново. Для этого придется создавать новый итератор с помощью функции iter().

21.4 Функция range() - итерируемый объект

Функция range() в языке программирования Python представляет собой итерируемый объект, который генерирует последовательность чисел. Она позволяет создавать последовательности чисел с определенным началом, концом и шагом.

r = range(5)
iterator = iter(r)
print(next(iterator))
print(next(iterator))
print(next(iterator))
print(next(iterator))
print(next(iterator))

Итератор - единственный универсальный и безопасный способ перебирать итерируемые объекты самых разных типов.

Вопросы:

  1. Что такое Итератор?
  2. Что такое Итерируемый объект?
  3. Когда мы получаем ошибку Stopiteration?

Задачи:

  1. На вход программе подается строка с названиями городов, записанных в одну строчку через пробел. Необходимо прочитать эту строку и на ее основе сформировать список из названий городов. После этого создайте итератор для полученного списка и с помощью итератора выведите на экран в столбик первые два названия города.

  2. На вход программе подается строка. Нужно ее прочитать и создать итератор для перебора символов этой строки. Затем, через созданный итератор перебрать все символы до первого пробела. В процессе перебора символы выводить на экран в одну строчку друг за другом (без пробелов). Гарантируется, что во введенной строке имеется хотя бы один пробел.

  3. На вход программе подается четырехзначное целое положительное число. Прочитайте это число и подумайте, как можно определить итератор для перебора его цифр. Выведите все цифры введенного числа (с помощью итератора) в одну строчку через пробел.


Предыдущий урок | Следующий урок