2011-08-19 13 views
9

Esiste un modo per verificare la presenza di chiavi in ​​un dizionario?Più operatori "in" in Python?

qualcosa che posso usare al posto di utilizzare più in e and operatori - invece delle seguenti operazioni:

('somekey' in d) and ('someotherkey' in d) and ('somekeyggg' in d) 
+0

Cosa c'è di sbagliato in questo? Sembra molto chiaro ed elegante. –

+0

Diventa fastidioso se devi farlo per 8 o 9 tasti. –

+0

Quindi considera di mostrarlo come esempio. La versione a tre tasti non è male e non mostra alcun problema reale. –

risposta

24
all(word in d for word in [ 'somekey', 'someotherkey', 'somekeyggg' ]) 
+1

+1 L'elenco può essere creato in anticipo e forse anche riutilizzato. –

+3

@Gareth: perché hai aggiunto quella divisione? – recursive

+1

@reno scusa per scegliere le lendini, ma credo che sarebbe un [generatore] (http://www.python.org/dev/peps/pep-0289/) [espressione] (http: //docs.python. org/riferimento/expressions.html # generatore di espressioni). – Marty

5
set(['somekey', 'someotherkey', 'somekeyggg']).issubset(d)