Menu
CoddyTech

Срезы списков. Часть 2

Часть раздела Основы путешествия по Python на Coddy. Урок 65 из 77.

Срез имеет ещё один параметр — шаг: lst[start:stop:step]. Например, рассмотрим этот список:

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

Получает каждый второй элемент с индекса 1 по 8:

print(numbers[1:8:2])
# Вывод: [1, 3, 5, 7]

Получает каждый третий элемент, начиная с индекса 2:

print(numbers[2::3])
# Вывод: [2, 5, 8]

Срезы также поддерживают отрицательные индексы.

Отсчёт с конца:

print(numbers[-3:])
# Вывод: [7, 8, 9]

Здесь -3 означает «начать за 3 позиции от конца»

Считай до конца:

print(numbers[:-2])    
# Вывод: [0, 1, 2, 3, 4, 5, 6, 7]

Здесь -2 означает «остановиться за 2 позиции до конца» (не включая её).

Обратный порядок с отрицательным шагом:

print(numbers[::-1])
# Вывод: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  • Пустое место перед первым : означает «начать с начала» (или «начать с конца», если шаг отрицательный)
  • Пустое место между : означает «идти до конца» (или «идти до начала», если шаг отрицательный)
  • -1 означает «двигаться назад по одному шагу за раз» 
challenge icon

Задание

Легко

Создай программу, которая получает на вход список (given) и выводит три новых списка на основе следующих операций среза:

  • Список, содержащий каждый третий элемент, начиная с индекса 1 (второй элемент)
  • Список, содержащий все элементы от 6-го элемента до 1-го в обратном порядке
  • Список, содержащий каждый второй элемент, начиная с середины списка и до конца

Попробуйте сами

lst = input().split(",")
# Напишите свой код ниже
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Python