Словари (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
}