Функция slice() в Python

Python3 内置函数Встроенные функции Python3


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

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

Определение слова: sliceОно означает "slice" и используется для создания объектов среза.


Базовый синтаксис и параметры

Формат синтаксиса

slice(stop)
slice(start, stop)
slice(start, stop, step)

Описание параметра

  • Параметр start(необязательный):
    • Тип: целое число
    • Описание: начальная позиция среза, по умолчанию 0.
  • Параметр stop:
    • Тип: целое число
    • Описание: конечная позиция среза (не включительно).
  • Параметр step(необязательно):
    • Тип: целое число
    • Описание: шаг среза, по умолчанию 1.

Описание функций

  • Возвращаемое значение: возвращает объект среза.
  • Особенности: объекты среза можно использовать повторно, что очень удобно.

Примеры

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

Пример

# Создание объекта slice
s1 = slice(5)      # От 0 до 5
s2 = slice(1, 5)    # От 1 до 5
s3 = slice(0, 10, 2)  # От 0 до 10, шаг 2

# Использование в срезах списка
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(my_list[s1])  # Вывод: [0, 1, 2, 3, 4]
print(my_list[s2])  # Вывод: [1, 2, 3, 4]
print(my_list[s3])  # Вывод: [0, 2, 4, 6, 8]

Ожидаемый вывод:

[0, 1, 2, 3, 4]
[1, 2, 3, 4]
[0, 2, 4, 6, 8]

Пояснение к коду:

  1. slice(5)Эквивалентно[0:5]。
  2. slice(1, 5)Эквивалентно[1:5]。
  3. slice(0, 10, 2)Эквивалентно[0:10:2]。

Пример 2: Свойства объекта slice

Пример

# Просмотр свойств объекта slice
s = slice(1, 10, 2)
print(s.start)   # Вывод: 1
print(s.stop)    # Вывод: 10
print(s.step)    # Вывод: 2

# Отрицательная индексация
s = slice(-3, -1)
print(s.start)   # Вывод: -3
print(s.stop)    # Вывод: -1

Ожидаемый вывод:

1
10
2
-3
-1

Пояснение к коду:

  • Объекты Slice имеют три свойства: start, stop и step.
  • Отрицательная индексация поддерживается.

Пример 3: Практическое применение

Пример

# Создать переиспользуемый срез
first_three = slice(3)
last_three = slice(-3, None)

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

print(my_list[first_three])  # Вывод: [1, 2, 3]
print(my_list[last_three])    # Вывод: [7, 8, 9]

# Используется для многомерного среза
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
row = slice(0, 2)  # Первые две строки
col = slice(1, 3)  # Столбцы 2-3
print([row[col] for row in matrix[row]])
# Вывод: [[2, 3], [5, 6]]

Ожидаемый вывод:

[1, 2, 3]
[7, 8, 9]
[[2, 3], [5, 6]]

Главное преимущество объектов среза в том, что их можно использовать повторно, что делает код понятнее.


Python3 内置函数Встроенные функции Python3


Другие расширения