Итерируемый счетчик
Еще один классный итератор из
В аргументах можно задать значения
Обычно
#itertools
Еще один классный итератор из
itertools
— это count
, который генерирует бесконечную последовательность чисел.В аргументах можно задать значения
start
и step
: первый отвечает за начальное значение, а второе за шаг, как и в range
.Обычно
count
редко используют с циклом for
. Чаще можно встретить случаи с функциями типа zip
или map
.#itertools
👍6❤3
Получаем срез из бесконечного генератора
Вероятно, у многих были случаи, когда требовалось получить конечный список элементов из бесконечного генератора.
И в целом задача вполне простая, но сейчас рассмотрим лаконичный вариант — воспользуемся пакетом
В нашем случае понадобится
Для примера мы написали функцию-генератор, которая вычисляет числа Фибоначчи. Результат можете посмотреть на картинке.
#itertools
Вероятно, у многих были случаи, когда требовалось получить конечный список элементов из бесконечного генератора.
И в целом задача вполне простая, но сейчас рассмотрим лаконичный вариант — воспользуемся пакетом
itertools
, в котором есть функции на все случаи генераторов. В нашем случае понадобится
islice
, который как раз берет "срез" из генератора. В аргументах указываем объект генератора и длину среза. Для примера мы написали функцию-генератор, которая вычисляет числа Фибоначчи. Результат можете посмотреть на картинке.
#itertools
👍6❤1
Очистка элементов в последовательности
Встроенный модуль
Иногда возникает необходимость в удалении ненужных объектов последовательности. Как раз для этого и используют
Первым аргументом передается какой-либо контейнер, например список. Вторым аргументом — логические значения, соответствующие элементам в последовательности.
Если логическое значения равно
#itertools
Встроенный модуль
itertools
был создан для работы с более сложными случаями итераторов. Плюс модуля в том, что он быстро работает и оптимизирован в плане памяти. Иногда возникает необходимость в удалении ненужных объектов последовательности. Как раз для этого и используют
itertools
, а именно метод compress
.Первым аргументом передается какой-либо контейнер, например список. Вторым аргументом — логические значения, соответствующие элементам в последовательности.
Если логическое значения равно
True
или 1
, то элемент сохраняется в последовательности, в противном случае — удаляется из нее. #itertools
🔥8👍3