Упрощаем код с помощью defaultdict в Python
DigitalSreeni
0:00 / 0:00
Упрощаем код с помощью defaultdict в Python
3 964 просмотра · 3 г. назад
DigitalSreeni
131 тыс. подписчиков
3 964 просмотра · 3 г. назад
Советы и хитрости 52: Упрощение кода с помощью defaultdict в Python
Код из этого видео доступен здесь: https://github.com/bnsreenu/python_fo...
Упрощение кода с помощью defaultdict
Вы начинаете с пустого блокнота и хотите добавить три вида фруктов:
яблоки, бананы и вишни.
Для этого вы открываете блокнот и ищете страницу для «яблок».
Но блокнот пуст, поэтому страницы для «яблок» нет.
Сначала вам нужно создать страницу для «яблок» и написать, что у вас есть 2 яблока.
Далее вы хотите добавить бананы. Вы ищете страницу для «бананов»,
но её нет, поэтому вы создаёте новую страницу для «бананов» и записываете, что у вас 1 банан.
Вы повторяете этот процесс для вишни, создавая для неё отдельную страницу и записывая,
что у вас 3 вишни.
Теперь представьте, что кто-то спрашивает вас: «Сколько у вас фиников?» Вы пытаетесь найти страницу «финики» в своём блокноте, но её нет.
Вам нужно быть осторожным, чтобы не допустить ошибок и случайно не забыть создать страницу для какого-либо фрукта или не забыть правильно обновить количество.
Эта ручная проверка и обновление делают ваш блокнот длиннее и более подверженным ошибкам.
Необходимость в defaultdict:
Вы начинаете с волшебного блокнота (defaultdict), который автоматически создаёт страницу для любого упомянутого вами фрукта.
Вы уверенно записываете количество фруктов, не беспокоясь о том, существуют ли страницы для их записи или нет. Например, вы просто говорите: «У меня 2 яблока», и блокнот создаст для вас страницу «яблоки», если её ещё нет.
Вы добавляете бананы и вишни таким же образом, без необходимости вручную проверять или создавать страницы.
Теперь, когда кто-то спрашивает о датах, вы можете смело проверить страницу «даты» в своём блокноте. Если её нет, блокнот любезно сообщит вам, что у вас 0 дат.
Ваш волшебный блокнот упрощает ведение записей. Вам не нужно писать дополнительный код для обработки отсутствующих страниц или беспокоиться об ошибках, что делает ваши записи короче и точнее.