Словари (Dict): создание и работа с парами ключ–значение

Что такое словарь в Python? 🔍

Словарь (dict) — это изменяемая коллекция произвольных объектов с доступом по ключу. В отличие от списков, где элементы упорядочены и доступны по индексу, словари хранят данные в виде пар ключ–значение.

Представь словарь как телефонную книгу:
- 📱 Ключ — это имя контакта (уникальное)
- 📞 Значение — номер телефона (может повторяться)

phone_book = {
    "Иван": "8-999-123-45-67",
    "Мария": "8-999-765-43-21",
    "Алексей": "8-999-111-22-33"
}

Как создать словарь? 🛠️

Способ 1: Фигурные скобки {}

Самый распространённый способ — перечисление пар ключ: значение внутри {}.

user = {
    "name": "Данила",  
    "age": 30,  
    "is_admin": True  
}

Способ 2: Функция dict()

Можно создать словарь из списка кортежей или другого итерируемого объекта:

user = dict([("name", "Данила"), ("age", 30), ("is_admin", True)])

Способ 3: Dict comprehension (генерирование словаря)

Аналогично списковым включениям, но для словарей:

squares = {x: x**2 for x in range(1, 6)}  
# Результат: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

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

Доступ к значению по ключу

Используй квадратные скобки [] или метод .get():

print(user["name"])  # Выведет "Данила"  
print(user.get("age"))  # Выведет 30  

⚠️ Важно: user["unknown_key"] вызовет ошибку KeyError, если ключа нет.
Метод .get() безопаснее — он вернёт None или значение по умолчанию:

print(user.get("unknown_key", "Нет такого ключа"))  # Выведет "Нет такого ключа"

Добавление и изменение элементов

Просто присвой значение по новому ключу:

user["city"] = "Москва"  # Добавит новый ключ  
user["age"] = 31  # Обновит существующий  

Удаление элементов

  • del — удаляет пару по ключу.
  • .pop() — удаляет и возвращает значение.
del user["is_admin"]  
age = user.pop("age")  # age = 31, ключ удалён  

Полезные методы словарей

Метод Описание
.keys() Возвращает список ключей
.values() Возвращает список значений
.items() Возвращает пары (ключ, значение) в виде кортежей
.update() Обновляет словарь из другого словаря
print(user.keys())   # dict_keys(['name', 'city'])  
print(user.values()) # dict_values(['Данила', 'Москва'])  

new_data = {"hobby": "программирование"}  
user.update(new_data)  # Добавит ключ "hobby"  

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

🔹 Ключи должны быть уникальными — если добавить новый элемент с существующим ключом, старое значение перезапишется.
🔹 Ключи могут быть только неизменяемыми типами (str, int, tuple), а значения — любые.

good_dict = {1: "one", "two": [2, 2], (3, 4): "tuple"}  
bad_dict = {[1, 2]: "error"}  # TypeError: ключ — список (изменяемый)  

Практический пример: Переводчик слов 🌐

Создадим мини-переводчик с английского на русский:

translator = {
    "apple": "яблоко",  
    "dog": "собака",  
    "book": "книга"  
}

word = input("Введите слово на английском: ").lower()  
translation = translator.get(word, "Перевод не найден")  
print(f"Перевод: {translation}")  

Заключение

Словари — мощный инструмент Python, который позволяет:
✅ Быстро получать доступ к данным по ключу.
✅ Гибко структурировать информацию.
✅ Эффективно решать задачи, где важна связь между объектами.

Попробуй создать свой словарь прямо сейчас — например, для хранения любимых фильмов и их рейтингов! 🎬

movies = {
    "Крестный отец": 9.2,  
    "Интерстеллар": 8.6,  
    "Начало": 8.8  
}
Скрыть рекламу навсегда

🌱 Индвидидулаьные занятия

Индивидуальные онлайн-занятия по программированию для детей и подростков

Личный подход, без воды, с фокусом на понимание и реальные проекты.

🚀 Записаться на занятие