Establecer un valor en un dict solo si el valor aún no está establecido

Que es lo máspitónico manera de establecer un valor en unadict Si el valor no está ya establecido?

En el momento mi código usa if sentencias:

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

dict.get(key,default) es apropiado para el código que consume un dict, no para el código que está preparando un dictado para pasar a otra función. Puedes usarlo para configurar algo, pero no es más bonito imo:

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

evaluaría la función de cálculo incluso si el dict contenía la clave; insecto.

Defaultdict es cuando los valores predeterminados son los mismos.

Por supuesto, muchas veces se configuran valores primarios que no necesitan computación como valores predeterminados y, por supuesto, pueden usarsedict.setdefault. ¿Pero qué hay de los casos más complejos?

Respuestas a la pregunta(6)

Su respuesta a la pregunta