Quelle est la façon la plus succinte de dire, en Python, "Donne-moi dict['foo']
s'il existe, et sinon, donne-moi cette autre valeur bar
"? Si j'étais à l'aide d'un objet plutôt qu'un dictionnaire, j'utiliser getattr
:Python getattr équivalent pour les dictionnaires?
getattr(obj, 'foo', bar)
mais déclenche une erreur clé si j'essayer d'utiliser un dictionnaire à la place (une distinction que je trouve dommage venant de JavaScript/CoffeeScript). De même, en JavaScript/CoffeeScript Je venais d'écrire
dict['foo'] || bar
mais, encore une fois, cela donne un KeyError. Que faire? Quelque chose succincte, s'il vous plaît!
Merci, c'est exactement ce que je cherchais! Je pense que vous venez de définir un nouveau record de vitesse. –
Hey est-il possible de le faire uniquement pour une caractéristique particulière de la clé ... [ici] (http://stackoverflow.com/a/6467555/5961780), une valeur est seulement retournée lorsque 'clé', ou plutôt ' name ', commence par la lettre' f '. – sbrm1