Перейти к содержанию

432 уроков, 26 библиотек и челлендж «Что выведет код?» — бесплатно, код прямо в браузере

Начать обучение

Списки в Python с нуля: методы, срезы и list comprehension — интерактивный курс (20 уроков)

Главная структура данных: один список — и таблицы, и стеки, и очереди

Редакция Питоники

20 уроков ≈ 10–14 часов Начальный Бесплатно и без регистрации
Списки: интерактивные уроки с запуском кода в браузере

Список — структура, с которой начинающий работает чаще всего: корзина магазина, строки отчёта, список задач, ячейки таблицы. Умея работать со списком, ты умеешь хранить и обрабатывать почти любые данные программы.

Двадцать уроков ведут от первого списка до уверенного владения: append и insert, remove, pop и del, len и индексы, срезы, проверка in, min, max и sum, sort против sorted, вложенные списки, list comprehension с условиями, zip для параллельных списков, подводный камень копирования, join и split, полный обзор методов — и финальный проект: инвентарь магазина на списках.

Каждый блок исполняется в браузере: срезы и методы видны в живом выводе, сравнение со строками и словарями — по ходу.

Чему научитесь

  • Создавать списки и обращаться к элементам
  • Добавлять элементы: append, insert, extend
  • Удалять элементы: remove, pop, del
  • Получать длину через len и считать суммы
  • Резать списки срезами, включая шаг
  • Проверять принадлежность через in
  • Сортировать списки: sort против sorted
  • Строить вложенные списки-таблицы
  • Писать list comprehension с условиями
  • Связывать параллельные списки через zip

Для кого: Тем, кто пишет первый код на Python и хочет главную структуру данных — от корзины товаров до таблиц отчёта.

Программа раздела
20 уроков
  1. Урок 1. Список в Python: первый список и элементы в квадратных скобкахТри товара — не три переменных, а один список в квадратных скобках. Первый список, чтение элемента по индексу, замена на месте и пустой список для будущей корзины.
  2. Урок 2. Python append: добавляем элемент в конец спискаappend кладёт один элемент в конец списка и меняет список на месте. Метод возвращает None — поэтому строка nums = nums.append(x) теряет список.
  3. Урок 3. Python insert и extend: вставка по индексу и добавление пачкойinsert ставит элемент по индексу и сдвигает остальных вправо, extend раскладывает пачку на отдельные элементы. Оба меняют список на месте и возвращают None.
  4. Урок 4. Python удалить элемент из списка: remove, pop и delremove убирает по значению, pop снимает элемент и возвращает его, del режет по индексу. Каждый падает по-своему — покажем и обезвредим.
  5. Урок 5. Python длина списка: len и подсчёт элементовlen(cart) отвечает, сколько элементов в списке: одна функция вместо цикла с ручным счётчиком. Пустой список — длина 0, число длины не имеет.
  6. Урок 6. Python индексы списка: с нуля и с конца, IndexErrorПервый элемент списка — индекс 0, последний — -1. Отрицательные индексы считают с конца, а выход за границу падает с IndexError.
  7. Урок 7. Python срезы списка: [1:4], отрицательные границы и шагСрез nums[1:4] берёт элементы с индексами 1, 2 и 3 — правая граница не входит. Опущенные границы, минус-индексы и шаг [::-1] для разворота.
  8. Урок 8. in в Python: есть ли элемент в спискеОдин оператор вместо цикла с флагом: in задаёт списку вопрос есть ли элемент и отвечает True или False. Разбираем ответ, перевёрнутый not in и коварное сравнение целиком.
  9. Урок 9. min, max и sum в Python: агрегаты списка одной строкойОтчёту нужны числа: сумма чека, самая дорогая позиция, средний балл. Три встроенные функции — sum, min и max — отвечают на все эти вопросы одной строкой, без цикла-аккумулятора.
  10. Урок 10. sort и sorted в Python: упорядочиваем списокДва инструмента сортировки: метод sort переставляет элементы в самом списке, функция sorted отдаёт новый список и оставляет исходный цел. Ловушка None, убывание через reverse и сюрпризы строк.
  11. Урок 11. Вложенный список в Python: список списков и таблицыОдин список — лента значений, но элементом списка может быть другой список: чек из позиций, поле 3 на 3, расписание по дням. Два индекса подряд, цикл в цикле и ловушка размноженных строк.
  12. Урок 12. List comprehension в Python: генератор списковЗадача из списка цен получить список скидок повторяется постоянно — и решается одной формулой вместо цикла из трёх строк. Разбираем list comprehension по частям: выражение, источник и почему исходный список остаётся цел.
  13. Урок 13. Comprehension с условием if: фильтр списка в PythonВ новый список часто нужны не все элементы, а только подходящие: чётные числа, дорогие товары, имена на нужную букву. Условие if внутри comprehension фильтрует список одной строкой — а вот if-else делает другое, и путать их нельзя.
  14. Урок 14. Zip в Python: параллельные списки в парыТовары лежат в одном списке, цены — в другом, а идти по ним нужно синхронно. Функция zip собирает пары одной строкой: цикл без индексов, обрезание по кратнейшему и unzip через звёздочку.
  15. Урок 15. Копия списка в Python: b = a не копияb = a выглядит как копия, но создаёт вторую ссылку на тот же список: правки через b видны в a. Три способа скопировать по-настоящему и ловушка вложенных списков.
  16. Урок 16. Join и split в Python: строка и списокДанные приходят строкой «молоко,хлеб,сыр», а работать с ними удобнее списком. split режет строку на части, join склеивает обратно — мост между двумя мирами.
  17. Урок 17. Методы списков Python: полный обзор и шпаргалкаК середине курса накопился весь арсенал: append, remove, pop, sort — и три метода ещё впереди. index, count, reverse, clear и copy плюс правило None — карта всех методов списка.
  18. Урок 18. Задачи на списки Python с решениямиТри классические задачи собеседований и домашних работ: дедупликация с сохранением порядка, второй максимум, чередование списков. Плюс сдвиг на N — и каждая решается тем, что уже пройдено.
  19. Урок 19. Распаковка списка в Python: звёздочка и остатокname, price = пара без индексов, swap одной строкой, *rest забирает остаток, print(*items) печатает без скобок. Одна звёздочка — четыре приёма, которые сжимают списочный код вдвое.
  20. Урок 20. Проект на Python: инвентарь магазина на спискахФинальный проект: маленький магазин — товары, цены и остатки в трёх параллельных списках. zip собирает записи, sum и max считают агрегаты, сортировка даёт топ, comprehension находит дефицит — и всё складывается в отчёт.