Установите значение в dict, только если значение еще не установлено

Какой самыйвещий способ установить значение вdict если значение еще не установлено?

На данный момент мой код использует операторы if:

if "timeout" not in connection_settings:
    connection_settings["timeout"] = compute_default_timeout(connection_settings)

dict.get(key,default) подходит для кода, потребляющего dict, а не для кода, который готовит dict для передачи другой функции. Вы можете использовать это, чтобы установить что-то, но это не красивее IMO:

connection_settings["timeout"] = connection_settings.get("timeout", \
    compute_default_timeout(connection_settings))

оценил бы функцию вычисления, даже если dict содержал ключ; ошибка.

Defaultdict - это когда значения по умолчанию совпадают.

Конечно, много раз вы устанавливаете первичные значения, которые нене нужны вычисления по умолчанию, и они, конечно, могут использоватьdict.setdefault, Но как насчет более сложных случаев?

Ответы на вопрос(6)

Ваш ответ на вопрос