Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the best way to aggregate the boolean values of a Python dictionary?

Tags:

python

For the following Python dictionary:

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

I want to aggregate the boolean values above into the following boolean expression:

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

The above should return me False. I'm using keys with known names above but I want it to work so that there can be a large number of unknown key names.

like image 901
Thierry Lam Avatar asked May 10 '10 21:05

Thierry Lam


1 Answers

in python 2.5+:

all(dict.itervalues())

in python 3+

all(dict.values())

dict is a bad variable name, though, because it is the name of a builtin type

Edit: add syntax for python 3 version. values() constructs a view in python 3, unlike 2.x where it builds the list in memory.

like image 71
LeMiz Avatar answered Nov 08 '22 04:11

LeMiz