Python Community RU - СНГ сообщество Python-разработчиков
Чат канала: @python_community_chat
Сотрудничество: @cyberJohnny и @Sergey_bzd
РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed®istryType=bloggersPermission
Post #2573
1.07K

🐍 Как легко создать мультисловарь (Multi-dictionary) в Python
Хотите, чтобы один ключ в словаре соответствовал нескольким значениям?
Это просто!
Используйте collections.defaultdict и встроенный list:
from collections import defaultdict
multidict = defaultdict(list)
multidict["SW"].append("Han Solo")
multidict["SW"].append("R2D2")
🔁 Теперь каждый ключ по умолчанию связан с пустым списком. А метод append добавляет новое значение в этот список.
Но будьте внимательны: это немного “обман”. На самом деле словарь по-прежнему отображает один ключ → одно значение. Просто это значение — список, в который вы сами добавляете что угодно.
Почему defaultdict удобен?
Потому что вам не нужно проверять, существует ли ключ в словаре. Пустой список будет создан автоматически при первом обращении к ключу.
@Python_Community_ru
Хотите, чтобы один ключ в словаре соответствовал нескольким значениям?
Это просто!
Используйте collections.defaultdict и встроенный list:
from collections import defaultdict
multidict = defaultdict(list)
multidict["SW"].append("Han Solo")
multidict["SW"].append("R2D2")
🔁 Теперь каждый ключ по умолчанию связан с пустым списком. А метод append добавляет новое значение в этот список.
Но будьте внимательны: это немного “обман”. На самом деле словарь по-прежнему отображает один ключ → одно значение. Просто это значение — список, в который вы сами добавляете что угодно.
Почему defaultdict удобен?
Потому что вам не нужно проверять, существует ли ключ в словаре. Пустой список будет создан автоматически при первом обращении к ключу.
@Python_Community_ru











