¿Cuál es la manera más sucinta de decir, en Python, "Dame dict['foo']
si existe, y si no, dame este otro valor bar
"? Si estuviera utilizando un objeto en lugar de un diccionario, que haría uso de getattr
:Python getattr equivalent for dictionaries?
getattr(obj, 'foo', bar)
pero esto plantea un error de clave si intento usar un diccionario en su lugar (una distinción me parece lamentable que viene de JavaScript/CoffeeScript). Del mismo modo, en JavaScript/CoffeeScript solo escribiría
dict['foo'] || bar
pero, nuevamente, esto arroja un KeyError. ¿Qué hacer? Algo sucinto, por favor!
Gracias, eso es justo lo que estaba buscando! Creo que acabas de establecer un nuevo récord de velocidad. –
Oye, es posible hacer esto solo para una característica particular de la clave ... [Aquí] (http://stackoverflow.com/a/6467555/5961780), un valor solo se devuelve cuando 'clave', o más bien ' nombre ', comienza con la letra' f '. – sbrm1