Coding Interview Prep · Урок

Списки, индексы и срезы для CP

Получайте срезы и разворачивайте данные без ошибок на единицу

Урок 1 из 413 шагов

«Списки, индексы и срезы для CP» — бесплатный урок Coding Interview Prep на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Coding Interview Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Coding Interview Prep содержит 4 уроков всего.

Ваш основной инструмент на соревнованиях

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

a = [4, 1, 7, 3]

Индексация с нуля

В списках используется индексация с нуля, поэтому a[0] — первый элемент. Если забыть об этом, возникает классическая ошибка на единицу, из-за которой теряются лёгкие баллы.

a = [4, 1, 7, 3]
print(a[0])  # 4

Обращение к концу с обратной стороны

Отрицательные индексы отсчитываются справа, поэтому a[-1] — последний элемент. Вам не нужно самостоятельно вычислять len(a) - 1.

a = [4, 1, 7, 3]
print(a[-1])  # 3

Какова длина?

Используйте len(a), чтобы получить количество элементов. Допустимые индексы идут от 0 до len(a) - 1 включительно, но не дальше.

a = [4, 1, 7, 3]
print(len(a))  # 4

Возьмите срез

Срез a[i:j] берёт элементы с индекса i до j, не включая j. Правая граница всегда исключается.

a = [4, 1, 7, 3]
print(a[1:3])  # [1, 7]

Срезы с пропущенными границами

Оставьте одну сторону пустой, чтобы дойти до края. a[:k] берёт первые k элементов, а a[k:] — всё начиная с k.

a = [4, 1, 7, 3]
print(a[:2], a[2:])

Переходите с заданным шагом

Третье число задаёт шаг. a[::2] берёт каждый второй элемент, что удобно для разделения позиций на чётные и нечётные.

a = [4, 1, 7, 3]
print(a[::2])  # [4, 7]

Разворот одним действием

Шаг -1 переворачивает список. a[::-1] создаёт перевёрнутую копию, не изменяя исходный список, что отлично подходит для палиндромов.

a = [4, 1, 7, 3]
print(a[::-1])  # [3, 7, 1, 4]

Срезы создают копии

Срез возвращает новый список, поэтому a[:] — быстрый способ создать поверхностную копию. Изменение копии не изменит исходный массив.

b = a[:]
b[0] = 99  # a is untouched

Безопасные границы предотвращают сбои

Обращение к a[len(a)] вызывает IndexError — это сразу приводит к вердикту об ошибке во время выполнения. Всегда проверяйте, что индекс находится внутри списка.

if i < len(a):
    use(a[i])

Срезы не приводят к сбоям

В отличие от индексации, срез за пределами диапазона не вызывает ошибки. a[2:99] просто возвращает существующие элементы и спокойно обрезается по конец списка.

a = [4, 1, 7, 3]
print(a[2:99])  # [7, 3]

Быстрая проверка

Проверьте, насколько хорошо Вы умеете работать со срезами, на небольшом списке.

Повторение: списки под рукой

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

Можно начать бесплатно

Изучай Coding Interview Prep с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
90
Уроки
360

Часто задаваемые вопросы

Урок «Списки, индексы и срезы для CP» бесплатный?

Да — полный текст урока «Списки, индексы и срезы для CP» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Coding Interview Prep, подпишись на CoddyKit PRO. Курс Coding Interview Prep содержит 4 уроков всего.

Чему я научусь в уроке «Списки, индексы и срезы для CP»?

Получайте срезы и разворачивайте данные без ошибок на единицу Ты практикуешь Coding Interview Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Coding Interview Prep?

Предыдущий опыт не требуется. Coding Interview Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Списки, индексы и срезы для CP»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Coding Interview Prep?

Да. Каждый урок Coding Interview Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Списки, индексы и срезы для CP
  2. Быстро создавайте массивы с включениями
  3. Min, Max, Sum и накопительные итоги
  4. Находите индекс, а не только значение
← Назад к Coding Interview Prep