Jet School Logo

Что такое Словарь?

Словарь (Dictionary) — это структура данных, которая хранит информацию в виде пар «ключ — значение» (key-value). Каждое значение связано с уникальным ключом, и по этому ключу его можно очень быстро найти.

Проще говоря: словарь в программировании похож на обычный словарь. В обычном словаре вы находите слово (ключ) и читаете его значение. Так же устроена и телефонная книга: имя — это ключ, а номер телефона — значение.

Особенности словаря

  • Ключи должны быть уникальными: в одном словаре не может быть двух одинаковых ключей. Если записать новое значение по существующему ключу, старое будет заменено.
  • Значения могут быть любого типа: числа, строки, списки и даже другие словари.
  • Ключ должен быть неизменяемым: в Python ключами обычно служат строки и числа, иногда кортежи (tuple). Список ключом быть не может, потому что его можно изменить.
  • Порядок сохраняется: начиная с Python 3.7 элементы словаря хранятся в порядке их добавления.

Пример (Python)

Данные о студенте можно хранить в словаре так: student = {“imya”: "Мурад", “vozrast”: 18}. Здесь «imya» и «vozrast» — ключи, а «Мурад» и 18 — их значения.

Основные операции со словарём:

  • Прочитать значение: student[“imya”] вернёт «Мурад».
  • Добавить новый элемент: student[“klass”] = “11A” добавит в словарь новую пару «ключ — значение».
  • Изменить значение: student[“vozrast”] = 19 заменит старое значение новым.
  • Удалить элемент: командой del student[“klass”] эта пара удаляется.
  • Безопасно прочитать: student.get(“telefon”) не вызовет ошибку, если такого ключа нет, а просто вернёт пустое значение (None).

Все элементы словаря можно перебрать по очереди с помощью цикла — например, чтобы вывести на экран каждый ключ и его значение.

Разница между словарём и списком

  • В списке к элементам обращаются по порядковому номеру (индексу): первый элемент, второй элемент и т. д.
  • В словаре к элементам обращаются по осмысленному имени — ключу: «imya», «vozrast», «klass».

Если важен смысл данных — например, все сведения об одном ученике, — удобнее словарь. Если важен порядок однотипных элементов — например, имена всех учеников, — удобнее список.

Почему словарь такой быстрый?

Внутри словарь построен на структуре, которая называется хеш-таблицей (hash table). Ключ с помощью специальной формулы напрямую «превращается» в место в памяти. Поэтому поиск по ключу происходит практически с одинаковой скоростью, независимо от того, 10 элементов в словаре или 10 миллионов. А чтобы найти элемент в списке, иногда приходится проверять весь список от начала до конца.

Словари в других языках

Эта структура есть практически во всех языках программирования, просто называется по-разному: в JavaScript — объект (object) или Map, в Java — HashMap, в C# — Dictionary. Самый популярный формат обмена данными в интернете — JSON — тоже основан на парах «ключ — значение» и внешне очень похож на словарь Python.

Преимущества словарей

  • Очень быстрый поиск по ключу
  • Хранение данных с понятными, осмысленными именами
  • Удобный формат для сложных вложенных данных
  • Простое преобразование в формат JSON

Словарь — одна из самых часто используемых структур среди типов данных Python и одно из базовых понятий, которое должен знать каждый программист.

Хотите применить эти знания на практике и получить реальные результаты? Начните обучение на курсе «IT и Компьютерная инженерия» и шаг за шагом приобретайте практические навыки. Подробнее о курсе — перейдите по ссылке: Курс «IT и Компьютерная инженерия».

Заполните форму чтобы узнать больше о наших IT курсах

Начни изучать IT уже сегодня