Skip to main content
 首页 » 编程设计

python之检查一组字典是否都等于 false 的最快方法是什么

2025年05月04日11EasonJim

例如,给定以下字典数组:

[{}, {}, {}, {}, {}, {}, {}] 

我想测试是否有任何非空的字典,如果有则返回 True,例如:

[{}, {}, {}, {}, {}, {}, {}] == False 
[{}, {}, {}, {}, {}, {}, {'key': 'val'}] == True 

请您参考如下方法:

使用 any功能。

>>> any([{}, {}, {}, {}, {}, {}, {}]) 
False 
>>> any([{}, {}, {}, {}, {}, {}, {'key': 'val'}]) 
True 

any 函数遍历可迭代对象并检查是否有任何值是 True-ish。这些值是以下未包括的任何值:

False 
0  # and any value equal to it, e.g. 0.0 
None 
[] 
() 
# and any other empty container 

{} 是一个空容器(字典),因此在 bool 上下文中计算为 False。当您将非空字典包含到列表中时,结果为 True,因为现在列表中有一个值在 bool 上下文中计算为 True。