我想知道我该怎么做。 我有一个这样的列表:
lst = [False, False, False]
如果所有元素都是True
,并且如果列表中至少有一个False
元素,我想得到True
,而我想得到{ {1}}。
我知道可以使用lst=[False, True, False]
或False
完成此操作,但我仍无法获得所需的解决方案。
我从这样的事情开始:
any()
我已经读过this,并且链接更多,但未获得预期的解决方案。
希望不要打扰这个问题。感谢您的阅读。
答案 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
这些方法都假定您的列表仅由True
和False
组成。如果要测试,请使用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