1
例如,给定下面的数组类型的字典:最快的方法来检查是否所有的字典都等于假?
[{}, {}, {}, {}, {}, {}, {}]
我想测试是否有任何非空类型的字典,如果是返回True,如:
[{}, {}, {}, {}, {}, {}, {}] == False
[{}, {}, {}, {}, {}, {}, {'key': 'val'}] == True
例如,给定下面的数组类型的字典:最快的方法来检查是否所有的字典都等于假?
[{}, {}, {}, {}, {}, {}, {}]
我想测试是否有任何非空类型的字典,如果是返回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
的{}
是一个空的容器(字典)等的计算结果为False
在布尔上下文。如果在列表中包含非空字典,结果为True
,因为列表中现在有一个值在布尔上下文中计算为True
。
通过_“对象数组”_你暗示可能有对象不是你的列表中的字典。是否应该阅读_“词典列表”_? – Ben
@Ben:correct:D – DanH