Нарезка — это мощная функция Python, позволяющая извлекать части последовательностей, такие как строки, списки и кортежи. Чаще всего срезы используются для извлечения непрерывной части последовательности, но существует множество других возможностей для изучения. В этой статье мы рассмотрим некоторые продвинутые методы нарезки и нарезки в Python, используя нотацию среза.

Прежде чем углубиться, давайте рассмотрим основы записи срезов. Срез определяется тремя целыми числами: start, stop и step. Срез начинается с индекса, указанного start, заканчивается индексом, заданным stop (но не включает этот индекс), и выбирает каждый шаг-й элемент. Если какие-либо из этих целых чисел опущены, по умолчанию они равны 0, длине последовательности и 1 соответственно.

Вот пример нарезки списка с использованием нотации среза:

>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[2:7:2]
[2, 4, 6]

Это выбирает элементы 2, 4 и 6 из списка. Теперь давайте рассмотрим некоторые продвинутые методы нарезки.

№1. Обратная последовательность:

Вы можете легко изменить последовательность, используя нотацию среза, установив для шага значение -1. Это выбирает каждый элемент в обратном порядке.

>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

№ 2. Выберите каждый n-й элемент:

Вы можете выбрать каждый n-й элемент последовательности, установив для шага значение n.

>>> a[::3]
[0, 3, 6, 9]

Это выбирает каждый третий элемент списка.

№3. Выберите подпоследовательность в обратном порядке:

Вы можете выбрать подпоследовательность последовательности в обратном порядке, установив начало и конец в обратном порядке и установив шаг равным -1.

>>> a[7:2:-1]
[7, 6, 5, 4, 3]

Это выбирает элементы 7, 6, 5, 4 и 3 из списка в обратном порядке.

№ 4. Выберите подпоследовательность и измените ее на месте:

Вы можете выбрать подпоследовательность последовательности и изменить ее на месте, используя нотацию среза. Это полезно для обновления частей списка или строки.

>>> a[2:7] = [10, 11, 12]
>>> a
[0, 1, 10, 11, 12, 7, 8, 9]

Это заменяет элементы со 2 по 6 списком [10, 11, 12]

№ 5. Выберите подпоследовательность и удалите ее:

Вы можете выбрать подпоследовательность последовательности и удалить ее, используя нотацию среза.

>>> del a[2:7]
>>> a
[0, 1, 8, 9]

Это удаляет элементы со 2 по 6 из списка.

Это всего лишь несколько примеров возможностей нотации слайсов в Python. Освоив эти передовые методы, вы сможете сделать свой код более кратким и выразительным. Удачной нарезки!

Пожалуйста, поддержите его, похлопав 👏 и поделившись.

Спасибо, что прочитали.

Хотите еще? Нет проблем, посмотрите этот мини-урок :