Списки, индексы и срезы для CP
Получайте срезы и разворачивайте данные без ошибок на единицу
«Списки, индексы и срезы для 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 — локальная установка не требуется.
Все уроки этого курса
- Списки, индексы и срезы для CP
- Быстро создавайте массивы с включениями
- Min, Max, Sum и накопительные итоги
- Находите индекс, а не только значение