聚合Python字典的布尔值的最佳方法是什么?

Thi*_*Lam 7 python

对于以下Python字典:

dict = {
    'stackoverflow': True,
    'superuser': False,
    'serverfault': False,
    'meta': True,
}
Run Code Online (Sandbox Code Playgroud)

我想将上面的布尔值聚合到下面的布尔表达式中:

dict['stackoverflow'] and dict['superuser'] and dict['serverfault'] and dict['meta']
Run Code Online (Sandbox Code Playgroud)

以上应该归还给我False.我正在使用上面已知名称的密钥,但我希望它能够工作,以便可以存在大量未知的密钥名称.

LeM*_*Miz 23

在python 2.5+中:

all(dict.itervalues())
Run Code Online (Sandbox Code Playgroud)

在python 3+中

all(dict.values())
Run Code Online (Sandbox Code Playgroud)

dict 但是,它是一个错误的变量名称,因为它是内置类型的名称

编辑:添加python 3版本的语法.values()在python 3中构造一个视图,与2.x不同,它在内存中构建列表.