如果所有值均为False,则为True;如果至少有一个True值python,则为False

时间:2020-11-10 01:10:10

标签: python list

我想知道我该怎么做。 我有一个这样的列表:

lst = [False, False, False]

如果所有元素都是True,并且如果列表中至少有一个False元素,我想得到True,而我想得到{ {1}}。

我知道可以使用lst=[False, True, False]False完成此操作,但我仍无法获得所需的解决方案。

我从这样的事情开始:

any()

我已经读过this,并且链接更多,但未获得预期的解决方案。

希望不要打扰这个问题。感谢您的阅读。

1 个答案:

答案 0 :(得分:1)

使用一组:

>>> lst1 = [False, False, False]
>>> lst2 = [False, False, True]
>>> set(lst1)=={False}
True
>>> set(lst2)=={False}
False

或否定in

>>> not(True in lst1)
True
>>> not(True in lst2)
False

或否定any

>>> not(any(lst1))
True
>>> not(any(lst2))
False

这些方法都假定您的列表仅由TrueFalse组成。如果要测试,请使用all

>>> all(e in {True,False} for e in lst1)
True
>>> all(e in {True,False} for e in lst2)
True

或者再次使用集:

>>> set(lst1)<={True,False}
True
>>> set(lst2)<={True,False}
True