English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основные курсы Python

Управление потоком на Python

Функции Python

Типы данных Python

Операции с файлами на Python

Объекты и классы в Python

Даты и время в Python

Продвинутые знания Python

Руководство Python

Метод slice() в Python с примерами

Внутренние функции Python

функция slice() возвращает объект slice(), который можно использовать для срезания строк, списков, множеств и т.д.

Объект slice() используется для срезания данных из заданной последовательности (строки,байты,множество,списокилиОбласть) или любое объект, поддерживающее протокол последовательности (реализует методы __getitem__() и __len__()).

Синтаксис slice():

slice(start, stop, step)

Параметры slice()

slice() может принимать три параметра:

  • start (необязательный) - целочисленный, определяющий начальный индекс среза объекта. Если не указано, то по умолчанию None.

  • stop- целочисленный, до которого происходит срез. Срез начинается с индексаstop-1 (последний элемент)местоКонец.

  • step (необязательный) - целочисленный значение, определяющее шаг при срезании индексов. Если не указано, то по умолчанию None.

Пример 1: Создание объекта среза

# включает индексы (0, 1, 2)
result1 = slice(3)
print(result1)
# включает индексы (1, 3)
result2 = slice(1, 5, 2)
print(slice(1, 5, 2))

Результат вывода

slice(None, 3, None)
slice(1, 5, 2)

Здесь result1 и result2 — это объекты среза.

Теперь, когда мы了解了 объект среза, давайте посмотрим, как можно получить подстроку, подмассив, подмножество и т.д. из объекта среза.

Пример 2: Получение подстроки с помощью объекта среза

# программа получает подстроку из заданной строки 
py_string = 'Python'
# stop = 3
# включает индексы 0, 1 и 2
slice_object = slice(3) 
print(py_string[slice_object])  # Pyt
# start = 1, stop = 6, step = 2
# включает индексы 1, 3 и 5
slice_object = slice(1, 6, 2)
print(py_string[slice_object])   # yhn

Результат вывода

Pyt
yhn

Пример 3: Использование отрицательных индексов для получения подстроки

py_string = 'Python'
# start = -1, stop = -4, step = -1
# Включает индексы -1, -2 и -3
slice_object = slice(-1, -4, -1)
print(py_string[slice_object])   # noh

Результат вывода

noh

Пример 4: Получение подсписка и подкортежа

py_list = ['P', 'y', 't', 'h', 'o', 'n']
py_tuple = ('P', 'y', 't', 'h', 'o', 'n')
# Включает индексы 0, 1 и 2
slice_object = slice(3)
print(py_list[slice_object]) # ['P', 'y', 't']
# Включает индексы 1 и 3
slice_object = slice(1, 5, 2)
print(py_tuple[slice_object]) # ('y', 'h')

Результат вывода

['P', 'y', 't']
('y', 'h')

Пример 5: Получение подсписка и подкортежа с помощью отрицательных индексов

py_list = ['P', 'y', 't', 'h', 'o', 'n']
py_tuple = ('P', 'y', 't', 'h', 'o', 'n')
# Включает индексы -1, -2 и -3
slice_object = slice(-1, -4, -1) 
print(py_list[slice_object])  # ['n', 'o', 'h']
# Включает индексы -1 и -3
slice_object = slice(-1, -5, -2)
print(py_tuple[slice_object]) # ('n', 'h')

Результат вывода

['n', 'o', 'h']
('n', 'h')

Пример 6: Использование синтаксиса индексации для нарезки

Объекты slice можно заменить синтаксисом индексации Python.

Вы можете交替но использовать следующие синтаксисы для нарезки:

obj[start:stop:step]

Например:

py_string = 'Python'
# Включает индексы 0, 1 и 2
print(py_string[0:3])  # Pyt
# Включает индексы  1 и 3
print(py_string[1:5:2]) # yh

Результат вывода

Pyt
yh

Внутренние функции Python