例如,给定以下字典数组:
[{}, {}, {}, {}, {}, {}, {}]
我想测试是否有任何非空字典,如果有则返回 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
在布尔上下文中计算为的值。