0 знаков
46. Итоги раздела «Итераторы в Python»
Уроки раздела «Итераторы в Python»
В разделе «Итераторы в Python» поговорили о итераторах, с которыми мы неоднократно встречались на протяжении всего курса. Так же в этом разделе познакомились со списковыми включениями (list/dict/set comprehensions).
Краткий пересказ раздела «Итераторы в Python»
В первом уроке дали определение итераторам и выяснили какие объекты являются итерируемыми.
ОпределениеИтератор – это объект, который возвращает за один раз, один свой элемент. Каждый вызов итератора возвращает следующий элемент коллекции. В Python любой объект имеющий метод
__iter__является итерируемым.
Во втором уроке познакомились со списковыми включениями (list comprehensions).
ПримечаниеИногда списковые включения переводят как «генераторы списков», к сожалению, вводящий в путаницу, так как в Python есть понятие «генераторы».
Мы научились создавать списки более компактно, буквально в одну строку, благодаря списковым включениям. Тоже самое сделали для словарей и множеств.
Новая информация из раздела «Итераторы в Python»
Если объект имеет метод __iter__, то он является итерируемым:
l = [1, 2, 3, 4, 5]
print(dir(l)) # => ['__add__', ... '__init__', '__init_subclass__', '__iter__', ... , 'clear', ... , 'reverse', 'sort'] Можем вручную перебирать элементы итерируемого объекта. Для начала необходимо инициализировать итератор от него:
it = iter(l) Затем вызывать метод итератора next() до поднятия исключения StopIteration:
print(next(it)) # => 1
...
print(next(it)) # => 5
print(next(it)) # => StopIteration Общая структура списковых включений следующая:
НОВЫЙ_СПИСОК = [ОПЕРАЦИЯ for ЭЛЕМЕНТ_СПИСКА in СПИСОК] НОВЫЙ_СПИСОК = [ОПЕРАЦИЯ for ЭЛЕМЕНТ_СПИСКА in СПИСОК if УСЛОВИЕ] Заключение
В разделе «Итераторы в Python» вы наконец-то познакомились с операторами и выяснили, какие объекты являются итерируемыми. В следующем разделе будем разбираться с написанием собственных функций.
Тест
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ