Функция slice( )
Встроенная функция slice( ) используется для получения части упорядоченной последовательности.
Функция slice( ) имеет 2е вида синтаксиса:
В первом случае функции передается один аргумент:
Синтаксис:
slice(stop)
stop – элемент на котором прекращается вывод среза, элемент с этим индексом в срез не входит, целое число (int). Обязательный аргумент.
В этом случае функция slice() воспринимает единственный аргумент как элемент на котором прекращается вывод среза, и возвращает объект класса slice и уже с помощью этого объекта можно получить срез (т.е. кусок) последовательности состоящий из всех элементов последовательности от элемента с индексом 0 до элемента с индексом равным stop – 1.
Во втором случае функции передаются два или три аргумента:
slice(start, stop, step)
start – начало среза, с этого элемента последовательности начинается срез, целое число (int). Обязательный аргумент.
stop – элемент на котором прекращается вывод среза, элемент с этим индексом в срез не входит, целое число (int). Обязательный аргумент.
step - шаг которым будет выведен срез, т.е. индекс каждого следующего элемента среза будет равен, индекс предыдущего элемента + шаг, целое число (int). Необязательный аргумент.
В этом случае функция slice() возварщает объект класса slice и уже с помощью этого объекта можно получить срез (т.е. кусок) последовательности состоящий из элементов последовательности от элемента с индексом равным аргументу start до элемента с индексом равным аргументу stop – 1, с шагом равным аргументу step если он есть или с шагом равным единице если его нет.
Все аргументы функции могут быть как положительными целыми числами, так и отрицательными целыми числами. Случай если аргументы положительные я уже рассмотрел, рассмотрим случай, когда аргументы отрицательные числа.
Отрицательные аргументы start и stop считают индексы элементов последовательности с конца последовательности при этом отрицательный индекс последнего элемента последовательности равен -1.
В случае если аргумент step положительное число, индекс аргумента start должен быть меньше индекса аргумента stop(т.е. применительно к рисунку если мы берем индекс start = -8 (или 3), то индекс stop не должен быть равен 0, 1, 2, -9 -10 или будет выведен пустой срез ), срез будет выводится от начала к концу последовательности.
В случае если аргумент step отрицательное число, то индекс аргумента start должен быть больше индекса аргумента stop (т.е. применительно к рисунку если мы берем индекс start= -3 (или 7), то индекс stop не должен быть равен 7, 8, 9, -2 -1 или будет выведен пустой срез ), срез будет выводится от конца к началу последовательности т.е. в обратной последовательности.
Объект класса slice имеет атрибуты, соответствующие аргументам функции.
Функция slice() аналогична индексации с помощью квадратных скобок [ ].
По ссылкам можно почитать мои конспекты:
Встроенные функции (Built-in)
Методы словаря (Dict methods)
Методы списков (List methods)
Строковые методы (String Methods)
Спецификаторы
Итерируемый тип данных
Инструкции continue, break и pass
Цикл for … in
Цикл while
Условная инструкция if
Индексация
Переменные
Встроенные функции print() и input()
Оператор присваивания
Основные типы данных
Коротко о языке
Книги и курсы по Python
Книги и курсы по Python год спустя.