TG Telegram Group & Channel
Библиотека Python разработчика | Книги по питону | United States America (US)
Create: Update:

collections.defaultdict позволяет создать словарь, который возвращает значение по умолчанию, если запрашиваемого ключа нет (вместо того чтобы выбрасывать KeyError). Для создания defaultdict нужно передать не само значение по умолчанию, а фабрику для его создания.

Это позволяет создавать словари с потенциально бесконечным уровнем вложенности, благодаря чему можно делать что-то вроде d[a][b][c]...[z].


>>> def infinite_dict():
... return defaultdict(infinite_dict)
...
>>> d = infinite_dict()
>>> d[1][2][3][4] = 10
>>> dict(d[1][2][3][5])
{}


Такое поведение называется "автовивификацией" (autovivification) — термин пришёл из языка Perl.

👉@BookPython

collections.defaultdict позволяет создать словарь, который возвращает значение по умолчанию, если запрашиваемого ключа нет (вместо того чтобы выбрасывать KeyError). Для создания defaultdict нужно передать не само значение по умолчанию, а фабрику для его создания.

Это позволяет создавать словари с потенциально бесконечным уровнем вложенности, благодаря чему можно делать что-то вроде d[a][b][c]...[z].


>>> def infinite_dict():
... return defaultdict(infinite_dict)
...
>>> d = infinite_dict()
>>> d[1][2][3][4] = 10
>>> dict(d[1][2][3][5])
{}


Такое поведение называется "автовивификацией" (autovivification) — термин пришёл из языка Perl.

👉@BookPython
👍4


>>Click here to continue<<

Библиотека Python разработчика | Книги по питону




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)