Таблица — это список одинаковых записей

Урок 10.1 · Программирование с нуля · Модуль 10. Данные и базы данных · Бесплатно

Цель урока: Понять, что таблица в базе данных — это список словарей с одинаковыми полями.

Нужно знать заранее: Уроки 5.1 и 5.2 — списки и словари.

Объяснение

Зачем это нужно: Почти всё, с чем работает программа, — это список одинаковых записей. Заказы в магазине, клиенты, расходы, оценки, сообщения. В Excel это таблица: строки и столбцы. В Python такая таблица хранится списком словарей, и дальше вы будете делать с ней то же, что в Excel: считать, фильтровать, сортировать.

Как это работает: Таблица — это набор записей об одном и том же: все заказы, все клиенты, все расходы. Запись — одна строка таблицы: один заказ, один клиент, один расход. Поле — характеристика записи: город, сумма, дата.

В Python таблицу удобно хранить списком словарей:

orders = [ {"id": 1, "city": "Москва", "total": 1200}, {"id": 2, "city": "Казань", "total": 800}, {"id": 3, "city": "Москва", "total": 450}, {"id": 4, "city": "Сочи", "total": 300}, ]

Список — контейнер, в котором записи лежат по порядку. Словарь — одна запись: ключ → значение.

Как читать таблицу: - len(orders) — сколько записей. - orders[0] — первая запись. - orders[len(orders) - 1] — последняя запись. - orders[0]["city"] — поле city первой записи. - orders[0]["total"] — поле total первой записи.

Имена переменных: orders — заказы order — один заказ city — город total — сумма first — первая запись last — последняя запись

Разбор по шагам: 1. len(orders) считает записи: 4. 2. orders[0] берёт первую запись, orders[len(orders) - 1] — последнюю. 3. ["city"] и ["total"] достают поля. 4. Цикл for order in orders перебирает все записи. 5. total = total + order["total"] копит сумму: 1200 + 800 + 450 + 300 = 2750. 6. print собирает строки.

Частая ошибка: У записей разные ключи: у одной "city", у другой "town". Тогда orders[0]["city"] работает, а orders[1]["city"] — нет. В таблице у всех записей должны быть одни и те же поля. Вторая ошибка — брать orders[4], когда записей четыре: последняя запись — orders[3], потому что счёт идёт с нуля.

Важно: В настоящей базе данных таблица — это не список в памяти, а файл на сервере. Но принцип тот же: записи и поля. Python-список — это учебная модель, чтобы увидеть, как устроена таблица.

Проверь себя: Сколько записей в orders? Что вернёт len(orders)? Что вернёт orders[1]["city"]? (4, «Казань».)

Итог: Таблица — это список одинаковых записей. Запись — словарь. Поле — ключ. Количество — len. Первая запись — orders[0], последняя — orders[len(orders) - 1].

Что дальше: В следующем уроке — как найти нужную строку по ключу: не «третью по счёту», а конкретного клиента с id = 2.

orders = [
    {"id": 1, "city": "Москва", "total": 1200},
    {"id": 2, "city": "Казань", "total": 800},
]

print(len(orders))          # 2
print(orders[0]["city"])    # Москва
print(orders[1]["total"])   # 800

Отчёт по таблице заказов

В таблице orders четыре заказа. Напечатайте четыре строки: Всего записей: 4 Первая запись: Москва — 1200 Последняя запись: Сочи — 300 Сумма всех заказов: 2750 Подсказка: количество даёт len(orders), первая запись — orders[0], последняя — orders[len(orders) - 1]. Сумму копите циклом в переменной total.

Критерий успеха: Напечатаны четыре строки: количество, первая запись, последняя запись и сумма 2750.

Уроки модуля 10

Что ещё есть на сайте

Учиться

  • Уроки — Все уроки трёх траекторий: список, поиск и ваш прогресс.
  • Программирование с нуля — Python с первой команды до своего проекта: 12 модулей.
  • Интерфейсы и сайты с нуля — Кнопки, страницы и мини-игры: результат виден сразу в браузере.
  • Компьютер без страха — Файлы, браузер, пароли, мошенники, документы и деньги в интернете простыми словами. Бесплатно и без оплаты.
  • Если уже случилось — Деньги ушли с карты, пропала симка, взломали аккаунт, потерялись документы — порядок действий по шагам и куда звонить.
  • Какой компьютер нужен — Чек-лист по уровням: для учёбы ничего покупать не нужно, для своего проекта — 16 ГБ и SSD, для работы — 32 ГБ. Плюс нейросети и устаревание железа.
  • Без кода: ставить задачу — Как объяснить задачу программисту и принять работу. Кода нет ни строчки.
  • Конструктор описания задачи — Собрать описание по полям и получить готовый текст для исполнителя.

С чего начать

Потренироваться

  • Практикум: задачи из жизни — Та же команда урока — на работе, дома и в документах. 63 задачи с проверкой вывода и без регистрации.
  • Игры-тренажёры — Найти ошибку в чужом коде, прочитать, что делает программа, и увидеть, что случится, если нажать клавишу.
  • Симулятор: от задания до сдачи — Пройти путь целиком: папка, терминал, файл, сохранение, запуск, проверка по критерию приёмки. Два сценария и две системы.
  • Мастерская экрана — Проверить цвета и раскладку страницы: контраст, шаблоны, конструктор.
  • Колесо фортуны — Одна прокрутка в день: скидка на подписку или дни доступа.

Словари и юмор

Сайт, оплата и помощь

  • Родителям — Возраст, время на уроки, безопасность в сообществе, деньги и результат — что важно знать до оплаты.
  • Инструкция пользователя — Как всё устроено: уроки, кабинет, уведомления, подписка, ярлык.
  • Сообщество — Вопросы и ответы: читать можно всем, писать — после входа.
  • Подписка — Тарифы, что входит, возврат 14 дней, история платежей.
  • Помощь и поддержка — Частые вопросы и форма обращения — ответ в течение дня.
  • Отзывы учеников — Что пишут те, кто уже учится: без звёзд, с проверкой каждого текста.
  • Профиль и пароль — Имя, пароль для входа без кода, уведомления, свои данные.