Skip to content

KatrinaVl/Itertools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Itertools

Реализовано несколько вспомогательных функций для работы с последовательностями, подобных тем, что есть в языке Python.

А именно Range, Zip и Group. Важно то, что все эти функции не создают новых контейнеров, векторов и прочего. Все реализуется посредством итераторов, т.е. Range(100500) не создает вектор из кучи элементов, а возвращает некоторую сущность, по которой можно проитерироваться (как в Python3).

Функция Range(from, to, step) должна порождать последовательность from, from + step, ..., from + k * step, где k --- такое последнее, что from + k * step < to. Реализованы также сокращенные формы Range с 1 и 2 аргументами (см. тесты).

Функция Zip принимает 2 последовательности (у каждой из которых есть begin и end) и порождает последовательность соответствующих пар. При этом функция обрезает итоговую последовательность до наименьшей.

Функция Group возвращает последовательность из итераторов на идущие подряд подпоследовательности из равных элементов (см. тесты). Для сравнения используется только оператор ==.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages