← Все вопросы
Как аккуратно получить значение из словаря, если ключа может не быть?
5
Обращаюсь к d[key] и иногда ловлю KeyError. Как читать значение с дефолтом и не засорять код проверками if key in d?
2 ответа
6
✓ Принятый ответ — помог автору
Используй d.get(key, default) — вернёт default, если ключа нет, без исключения. А если нужно накапливать (например, считать частоты) — посмотри dict.setdefault или collections.defaultdict.
3
Для счётчиков ещё есть collections.Counter — буквально создан для подсчёта элементов.
Олег Захаров Counter сильно сокращает код, рекомендую. · вчера
Ваш ответ
Войдите, чтобы ответить на вопрос.