2016-06-15 5 views
0

Ich habe eine Python-Wörterbuchvariable namens data, ich versuche, den Wert von 'Schlüsselname' zu erhalten, wenn es nicht ' Es existiert, ich möchte, dass es keiner ist.Vergleichen Sie 2 Methoden data.get ('Schlüsselname') vs. `data ['Schlüsselname'] oder None`

A = data.get('key_name') 

B = data['key_name'] or None 

ich wissen, ob die ‚key_name‘ ist eine leere Zeichenfolge ist, A ‚‘ und B ist keine, und vielleicht gibt es einige andere Gründe, warum ich nicht, hielt was sonst? Wie, vielleicht ist ein sicherer als B.

Antwort

2

Dieses eine KeyError werfen, so können Sie diese verwenden:

B = data['key_name'] or None 

Soweit Python geht, ist die erste Option die meisten Standard-Weise zu tun, dass :

A = data.get('key_name') 

Wenn Sie zu anderen Datentypen offen sind, können Sie immer eine defaultdict verwenden.

Sie können dies tun, und es würde auch funktionieren:

data = defaultdict(lambda: None) 
C = data['key_name'] 
# C is now None 

Oft defaultdicts verwendet werden, wenn Sie eine Liste wollen standardmäßig oder so ähnlich erstellt werden. Die Dokumente decken diese Fälle ab.

Verwandte Themen