Что такое итерируемый объект

Объект, который представляет возможность поочередно обойти свои элементы.

Например список - это итерируемый объект. Сам по себе он не поддерживает функцию next(), но мы можем получить из списка итератор с помощью функции inter(). Полученный объект и будет итератором.

s = [1, 2, 3]
next(s) # TypeError: 'list' object is not an iterator

b = iter(s)
next(b) # 1
next(b) # 2
next(b) # 3
  • список
  • строка
  • файл

 

Oct. 10, 2023, Источник

Итерируемый объект — это объект, который может быть перебран поэлементно с помощью цикла `for` или других методов, таких как `map()`, `filter()`, `sum()`, `join()` и т. д. Он предоставляет возможность последовательно перебирать свои элементы без явного указания индексов.

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

Множество типов данных и структур данных являются итерируемыми, включая списки (list), кортежи (tuple), строки (str), множества (set), словари (dict) и другие.

Пример итерации по списку:

my_list = [1, 2, 3, 4, 5]

for item in my_list:
    print(item)

Здесь переменная `my_list` является итерируемым объектом, и мы можем перебирать ее элементы в цикле `for`, поочередно присваивая каждый элемент переменной `item`. Когда все элементы исчерпаны, цикл завершается.

Feb. 19, 2024, easyoffer