0Pricing
Coding Interview Prep · Урок

Быстро создавайте массивы с включениями

Читайте и формируйте input в одной строке

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

Создавайте списки в одну строку

Генератор списка создаёт список из цикла в одном выражении. Это короче, быстрее и является стандартным приёмом на соревнованиях для преобразования данных.

squares = [i * i for i in range(5)]

Базовая форма

Шаблон выглядит так: [expr for item in iterable]. Выражение слева выполняется один раз для каждого элемента, который выдаёт цикл.

doubles = [x * 2 for x in nums]

Чтение строки целых чисел

Самая распространённая строка на соревнованиях: разделите входные данные и преобразуйте каждый токен. Этот приём за один понятный шаг преобразует текст в целые числа.

nums = [int(x) for x in input().split()]

map() выполняет ту же работу

map(int, ...) применяет int к каждому токену. Оберните результат в list(...), чтобы материализовать значения для многократного использования.

nums = list(map(int, input().split()))

Фильтрация при построении

Добавьте в конце условие if, чтобы оставить только подходящие элементы. Здесь при построении остаются только чётные числа.

evens = [x for x in nums if x % 2 == 0]

Преобразование и фильтрация вместе

Можно одновременно преобразовывать и фильтровать: изменяйте сохраняемые элементы слева, а отбирайте их с помощью завершающего if.

out = [x * x for x in nums if x > 0]

Создание массива, заполненного нулями

Нужен массив фиксированного размера? [0] * n мгновенно создаёт n нулей — идеально для счётчиков и таблиц DP.

dp = [0] * n

Остерегайтесь повторяющихся вложенных списков

Для двумерной сетки используйте включение. [[0] * c for _ in range(r)] создаёт независимые строки, а [[0] * c] * r использует одну общую строку.

grid = [[0] * c for _ in range(r)]

Индексация с enumerate

Если нужны ещё и позиции, используйте в цикле enumerate: на каждом шаге Вы получаете и индекс, и значение.

pairs = [(i, v) for i, v in enumerate(nums)]

Чтение целой матрицы

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

grid = [list(map(int, input().split()))
        for _ in range(r)]

Варианты для множеств и словарей

Такой же синтаксис создаёт множества и словари: используйте фигурные скобки. {x for x in nums} удаляет дубликаты, а пары key:value создают отображение.

seen = {x for x in nums}

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

Выберите конструкцию, которая считывает строку целых чисел, разделённых пробелами.

Повторение: быстрое построение

Теперь Вы умеете в одной строке создавать, фильтровать и изменять форму массивов, а также быстро считывать целые матрицы. Включения делают разбор ввода коротким и защищённым от ошибок. 💡

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

Урок «Быстро создавайте массивы с включениями» бесплатный?

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

Чему я научусь в уроке «Быстро создавайте массивы с включениями»?

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

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

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

Сколько времени занимает урок «Быстро создавайте массивы с включениями»?

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

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

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

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

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