2011-08-19 18 views
9

Sözlükteki anahtarları kontrol etmek için kestirme bir yol var mı? Bunun yerine birden in ve and operatörlerini kullanarak kullanabilirsinizPython'da çoklu 'in' operatörler?

şey - yerine aşağıdakilerden:

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

bu nesi var? Çok net ve zarif görünüyor. –

+0

8 veya 9 anahtar için yapmanız gerekiyorsa sinir bozucu olur. –

+0

Sonra örnek olarak bunu göstermeyi düşünün. Üç anahtar versiyonu kötü değildir ve herhangi bir gerçek problem göstermez. –

cevap

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

+1 Liste önceden oluşturulabilir ve belki yeniden kullanılabilir. –

+3

@Gareth: Neden bu bölmeyi eklediniz? – recursive

+1

@reno nits almak için üzgünüm, ama inanıyorum ki bu bir [jeneratör] (http://www.python.org/dev/peps/pep-0289/) [ifade] (http: //docs.python). org/başvuru/expressions.html # jeneratör-ifadeler). – Marty

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