Your trial period has ended!
For full access to functionality, please pay for a premium subscription
Message
5
2
269
🛠 setdefault() vs defaultdict: в чём разница

Работаете со словарями в Python? Тогда важно понимать:

🔵 setdefault()
— Позволяет получить значение по ключу или сразу создать его, если ключа нет.

d = {}
d.setdefault('key', []).append(1)
# d = {'key': [1]}
Но каждый раз нужно писать setdefault вручную ➡️ дольше и местами грязнее.

🔵 defaultdict
— Автоматически создаёт значение при обращении к отсутствующему ключу.

from collections import defaultdict

d = defaultdict(list)
d['key'].append(1)
# d = {'key': [1]}
Чище код, удобнее для вложенных структур и подсчётов.

➡️ Итог:
— Для разовых случаев норм setdefault.
— Для чистого и масштабируемого кода — defaultdict без вопросов.

Азбука айтишника #ликбез
04/24/2025, 18:02
t.me/abc_for_it/1093
Similar message chronology:
Newest first
Similar messages not found