В прошлых темах о списках, кортежах и множествах нам обычно встречались структуры, где данные лежат по порядку: сначала первый элемент, потом второй, потом третий (в прочем, во множествах учитывается и случайный порядок). У словаря идея другая: данные хранятся в виде пар ключ: значение, где ключ — это имя, по которому мы ищем информацию, а значение — это сама информация, связанная с этим именем.
Например, если в словаре есть пара "name": "Анна", то "name" — это ключ, а "Анна" — значение ключа. Такой подход особенно удобен в анализе данных: вместо вопроса «какой по счёту элемент мне нужен?» мы задаём более
естественный вопрос: «какое значение хранится у показателя revenue,
city, product или category?»
1. Что такое словарь и для чего он нужен
Словарь — это структура данных, которая хранит пары ключ: значение. В словаре не нужно помнить индекс элемента, потому что доступ к данным идёт по имени ключа.
Словари удобны там, где у каждого значения есть понятное название: выручка, город, категория товара, число заказов, имя клиента, статус доставки. Именно поэтому словари постоянно используются в аналитике,
бизнес-отчётах, API и обработке таблиц.
В этом примере словарь не выводится целиком. Мы сразу обращаемся к двум конкретным значениям: названию товара и его цене.
Когда словарь особенно полезен
2. Как создаётся словарь
Словарь создаётся с помощью фигурных скобок {}. Внутри записываются пары ключ: значение, разделённые запятыми.
Ключи чаще всего делают строками, потому что так словарь
становится понятнее человеку. Значениями могут быть числа, строки,
логические значения, списки и даже другие словари.
3. Какие данные можно хранить в словарях
Словарь хорошо подходит для хранения самых разных типов данных. Ниже
разберём несколько случаев: числа, переменные, строки, списки и
вложенные словари.
Числа как значения
Пример 1. Храним основные показатели магазина:
Пример 2. Храним координаты склада:
Переменные, которые ссылаются на числа
Пример. Сначала создаём переменные, потом кладём их в словарь:
Строки как значения
Пример. Описание клиента:
Списки внутри словаря
Пример. У товара может быть сразу несколько тегов:
Вложенные словари
Пример. В одном словаре можно хранить другой словарь:
4. Как получать доступ к данным в словаре
У словаря есть несколько способов получить информацию. Они похожи друг на друга, но используются в разных ситуациях.
Способ 1. Обращение через квадратные скобки
Запись dictionary["key"] подходит, когда вы точно уверены, что ключ существует. Это самый прямой и самый короткий способ получить значение.
Здесь мы сначала сохранили значение в переменную visits_value, а затем вывели её на экран. Такой подход часто используется, когда значение понадобится не один раз.
Способ 2. Метод get()
Метод get() безопаснее. Если ключа нет, программа не завершится ошибкой, а вернёт None или то значение, которое вы укажете сами.
Здесь ключ "source" существует, а ключа "budget" нет. Поэтому get() вернул запасное значение 0. Метод get() лучше, когда есть подозрения, что данные могут быть неполными.
Способ 3. Проверка через in
Иногда сначала нужно не получить значение, а проверить, есть ли вообще нужный ключ в словаре. Для этого используют in.
Такой способ нужен, когда программа должна сначала убедиться в наличии данных, а уже потом работать с ними.
Способ 4. Получение всех ключей, значений и пар
Словарь умеет отдавать отдельно ключи, отдельно значения и пары целиком. Это полезно, когда нужно пройтись по всем данным.
Разница такая:
- keys() возвращает только имена ключей;
- values() — только сами данные;
- items() — пары целиком.
В анализе это полезно, когда нужно отдельно вывести названия метрик или пройтись по каждой паре «название — значение».
5. Как изменять словарь
Словарь можно изменять: добавлять новые пары, обновлять старые значения и удалять ненужные данные.
Добавление нового ключа
То есть, если пары ключ-значение раньше не было, то они создаются.
Изменение существующего значения
Если ключ уже есть, новое значение просто заменяет старое.
Удаление пары по ключу
После удаления ключ "age" исчезает из словаря полностью.
6. Где словари используются в анализе данных
Словари постоянно встречаются в практических задачах аналитика:
карточка клиента, описание товара, строка из API, настройки отчёта,
агрегированные метрики по дням и каналам. Они особенно удобны, когда
каждому числу или строке нужно дать понятное имя.
Например, если в отчёте есть показатели revenue, orders и conversion, то словарь делает данные самодокументируемыми. Глядя на ключ, вы сразу понимаете, что именно хранится внутри.
Здесь показаны сразу три разных способа работы со словарём: прямое обращение по ключу, безопасное получение через get() и проверка наличия поля через in.
7. Итог
Словарь — это структура данных для хранения пар ключ: значение. Он нужен тогда, когда у данных есть имена и когда обращаться к информации по этим именам удобнее, чем по индексам.
Для получения данных можно использовать разные инструменты:
- квадратные скобки, если ключ точно есть;
- get(), если нужен безопасный доступ;
- in, если важна предварительная проверка;
- методы keys(), values(), items(), если нужно работать сразу со всем содержимым.