Словари Python: добавление, обновление и управление парами ключ/значение
Словари Python — фундаментальные структуры данных, хранящие данные как пары ключ/значение. Ключи неизменяемы и уникальны, значения — любого типа, включая вложенные структуры.
Правила для ключей словаря
- Дубликаты ключей перезаписываются: последнее вхождение имеет приоритет.
- Допустимые типы ключей: строки, числа, кортежи и другие хешируемые объекты. Изменяемые типы (списки) не могут быть ключами.
- Встроенные функции, классы и даже сами функции могут служить ключами.
Добавление элементов в словарь
Чтобы добавить новую пару, просто присвойте значение новому ключу:
my_dict = {"username": "XYZ", "email": "xyz@example.com"}
my_dict["location"] = "Mumbai"
print(my_dict)
Вывод: {"username": "XYZ", "email": "xyz@example.com", "location": "Mumbai"}
Когда значение — список, можно добавлять элементы в этот список:
my_dict = {"tags": []}
my_dict["tags"].append("python")
print(my_dict)
Вывод: {"tags": ["python"]}
Доступ к элементам словаря
Получите значение по ключу через квадратные скобки. Если ключа нет, возникает KeyError:
print(my_dict["username"]) # XYZ print(my_dict["nonexistent"]) # KeyError
Чтобы избежать ошибок, используйте dict.get() или dict.setdefault():
print(my_dict.get("nonexistent", "default"))
Удаление элементов
- del:
del my_dict["username"] - pop():
removed = my_dict.pop("email")возвращает удалённое значение. - clear():
my_dict.clear()очищает словарь.
Обновление существующих значений
Присвойте новое значение существующему ключу:
my_dict["username"] = "ABC" print(my_dict)
Объединение словарей
Слейте два словаря через update() или оператор объединения (|) в Python 3.9+:
dict_a = {"a": 1, "b": 2}
dict_b = {"b": 3, "c": 4}
dict_a.update(dict_b)
print(dict_a) # {"a": 1, "b": 3, "c": 4}
# или
combined = dict_a | dict_b
print(combined)
Вложенный словарь
Присвойте целый словарь новому ключу для вложения:
parent = {"username": "XYZ"}
child = {"firstName": "Nick", "lastName": "Price"}
parent["name"] = child
print(parent)
Вывод: {"username": "XYZ", "name": {"firstName": "Nick", "lastName": "Price"}}
Резюме
- Ключи словаря уникальны, хешируемы и неизменяемы.
- Используйте присваивание для добавления/обновления,
delилиpop()для удаления,clear()для очистки. - Методы
update()и оператор объединения упрощают слияние словарей.
Для подробностей см. официальную документацию: Python Data Structures – Dictionaries.
Python
- Переменные, константы и литералы в Python — подробное руководство
- Словари в Python: создание, манипуляции и продвинутые техники
- Получение текущей даты и времени в Python: практическое руководство
- Как IoT-управляемые умные алерты трансформируют надёжность электродвигателей
- Функция print() в Python: практическое руководство с примерами
- Освоение кортежей (tuples) в Python: упаковка, распаковка, сравнение, срезы и ключи словаря
- Подробное руководство по операторам Python: арифметические, логические, сравнения, присваивания, битовые и прио…
- Функция abs() в Python: вычисление абсолютных значений для чисел и комплексных чисел
- Освоение функции range() в Python: от основ к продвинутым сценариям
- Python time.sleep(): как добавить задержки в код (пример)