2010-05-10 13 views
7

:Python sözlüğünün boole değerlerini toplamanın en iyi yolu nedir? Aşağıdaki Python Sözlük için

dict = { 
    'stackoverflow': True, 
    'superuser': False, 
    'serverfault': False, 
    'meta': True, 
} 

Yukarıda aşağıdaki mantıksal ifadelere içine boole değerleri toplamasıdır istiyorum:

dict['stackoverflow'] and dict['superuser'] and dict['serverfault'] and dict['meta'] 

yukarıda bana False dönmelidir. Yukarıda bilinen adlara sahip anahtarlar kullanıyorum, ancak çok sayıda bilinmeyen anahtar adın bulunabilmesi için çalışmasını istiyorum. 2.5 + Python

+1

Bir sonsuz * anahtar sayısı ?! –

+0

@Mark Byers: Dict'ta kaç anahtar olacağını veya ne olacağını bilmez, neden anlamak zor? – manifest

+2

@manifest: Tamam, sonra sorusu yanlıştı, düzeltmek için onu düzenledim. Bu bir Wiki ve herkes tarafından görülebilir. Doğru soru, doğru cevap kadar önemlidir. –

cevap

23

: Bir yerleşik tip adıdır çünkü piton 3+

all(dict.values()) 

dict yılında

all(dict.itervalues()) 

olsa da, kötü bir değişken adıdır

Düzenleme : python 3 sürümü için sözdizimi ekleyin. values(), listeyi bellekte oluşturduğu 2.x'in aksine, python 3'te bir görünüm oluşturur.

+0

+1 - yineleyici hafıza tüketimi için daha iyidir –

İlgili konular