2016-07-11 4 views
0

Sagen wir, ich habe eine Funktion wie folgt aus:Wie ein Wörterbuch in Python verspotten

def do_something(dict_obj): 
    # access to the dict_obj then do some stuff 
    eg. 
    if dict_obj['doors']: 
     do_something_with_doors() 
    map_car_make(dict_obj['make']) 
    ... 

    if dict_obj['is_active']: 
     do_something_else() 

Ich möchte die dict_obj verspotten is_active Element zu haben und den Rest erledigen sich nicht, wie kann ich das tun?

+2

Warum sollten Sie sich überhaupt über eine einfache Datenstruktur lustig machen? Warum nicht? Dict_obj ['is_active'] = True? Normalerweise sollte _behavior_ ausgedruckt werden, nicht Daten. –

+0

Wenn Sie sich nicht für die Werte im Inneren interessieren, können Sie immer 'Collections.defaultdict' –

+0

@MattBall verwenden, da es andere Logik in der Funktion gibt, andere Elemente in dict_obj zu verwenden, siehe aktualisierten Code –

Antwort

0

Sie können die Methode dict.get verwenden, um den Standardwert Ihrer Wahl zurückzugeben, der die Existenz des is_active-Eintrags verspotten kann.