制作了True& amp;这是假的,我想做的就是检查它们是否都是真的。之前成功使用了all(),但出于某种原因,下面我失败了。
data = [[False, False, False],
[False, False, False],
[True, True, True],
[True, True, True]]
print(all(data))
>>> True
为什么会这样?
答案 0 :(得分:5)
all
不检查每个子列表中的bool。每个非空列表都是真实的。
要检查所有 所有子列表中的项目是True
,您应该执行以下操作:
all(x for lst in data for x in lst) # -> False
答案 1 :(得分:1)
您可以使用生成器将每个子列表传递到all
中的all
函数:
print(all(all(i) for i in data))
输出:
False