开发者

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

开发者 https://www.devze.com 2022-12-30 00:52 出处:网络
For the following Python dictionary: dict = { \'stackoverflow\': True, \'superuser\': False, \'serverfault\': False,

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.


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号