2010-05-10 20 views
7

Para el diccionario de Python siguiente:¿Cuál es la mejor manera de agregar los valores booleanos de un diccionario de Python?

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

Quiero agregar los valores booleanos arriba en el siguiente expresión booleana:

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

lo anterior debe devolverme False. Estoy usando claves con los nombres conocidos anteriormente, pero quiero que funcionen para que haya una gran cantidad de nombres desconocidos.

+1

Un * infinito * número de claves ?! –

+0

@Mark Byers: Él no sabe cuántas claves habrá en el dict o qué serán, ¿por qué es tan difícil de comprender? – manifest

+2

@manifest: OK, entonces su pregunta era incorrecta, así que la he editado para corregirla. Esta es una Wiki y se puede ver públicamente. La pregunta correcta es tan importante como la respuesta correcta. –

Respuesta

23

en Python 2.5+:

all(dict.itervalues()) 

en Python 3+

all(dict.values()) 

dict es un mal nombre de la variable, sin embargo, debido a que es el nombre de un tipo interno

Editar : agregue la sintaxis para la versión de python 3. values() construye una vista en Python 3, a diferencia de 2.x donde construye la lista en la memoria.

+0

+1 - iterador es mejor para el consumo de memoria –

Cuestiones relacionadas