Was ist die prägnanteste Art zu sagen, in Python, "Gib mir dict['foo']
, wenn es existiert, und wenn nicht, geben Sie mir diesen anderen Wert bar
"? Wenn ich ein Objekt bin mit eher als ein Wörterbuch, würde ich getattr
verwenden:Python getattr Äquivalent für Wörterbücher?
getattr(obj, 'foo', bar)
aber dies wirft einen Schlüssel Fehler, wenn ich stattdessen ein Wörterbuch versuchen, mit (a Unterscheidung, die ich schade finde kommen von JavaScript/Coffeescript). Ebenso würde ich in JavaScript/CoffeeScript einfach
dict['foo'] || bar
schreiben, aber dies wiederum ergibt einen KeyError. Was ist zu tun? Etwas prägnant, bitte!
Danke, das ist genau das, was ich gesucht habe! Ich denke du hast gerade einen neuen Geschwindigkeitsrekord aufgestellt. –
Hey ist es möglich, dies nur für eine bestimmte Eigenschaft des Schlüssels zu tun ... [Hier] (http://stackoverflow.com/a/6467555/5961780), ein Wert wird nur zurückgegeben, wenn "Schlüssel", oder besser gesagt " Name ', beginnt mit dem Buchstaben' f '. – sbrm1