Что такое срез?

1. Что такое срез

  • Срез — это способ выбрать часть последовательности (список, строку, кортеж) с помощью индексов.

  • Синтаксис:

sequence[start:stop:step]
  • start — индекс начала (включительно)

  • stop — индекс конца (не включительно)

  • step — шаг, по умолчанию 1


2. Примеры со списками

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

print(lst[2:7])      # [2, 3, 4, 5, 6]  — элементы с индексом 2 до 6
print(lst[:5])       # [0, 1, 2, 3, 4]  — с начала до 4
print(lst[5:])       # [5, 6, 7, 8, 9]  — с 5 до конца
print(lst[::2])      # [0, 2, 4, 6, 8] — каждый второй элемент
print(lst[::-1])     # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] — разворот списка

3. Примеры со строками

text = "Hello, world!"

print(text[7:12])    # 'world'
print(text[:5])      # 'Hello'
print(text[::2])     # 'Hlo ol!'
print(text[::-1])    # '!dlrow ,olleH' — разворот строки

4. Срезы с отрицательными индексами

  • Отрицательные индексы считаются с конца последовательности.

lst = [0, 1, 2, 3, 4, 5]

print(lst[-3:])    # [3, 4, 5] — последние 3 элемента
print(lst[:-3])    # [0, 1, 2] — все кроме последних 3
print(lst[-1::-1]) # [5, 4, 3, 2, 1, 0] — разворот

5. Применение срезов в автоматизации тестирования

  • Получение части ответа API или лога.

  • Разделение строк или файлов на нужные части.

  • Обработка списков элементов UI или тестовых данных.

  • Быстрый разворот или фильтрация элементов.

# Пример: последние 5 ошибок теста
errors = ["err1", "err2", "err3", "err4", "err5", "err6"]
recent_errors = errors[-5:]
print(recent_errors)  # ['err2', 'err3', 'err4', 'err5', 'err6']

Last updated

Was this helpful?