Python的“ in”关键字是否会为空列表返回True?

时间:2019-11-20 22:33:43

标签: python list keyword empty-list

简单地说,在Python中是否存在任何值x

(x in []) == True

这是一个基本问题,但否定答案必须穷尽所有可能性:即“没有类型,也没有任何给定类型的常量,使得x in []返回值True。 ”然而,事实可能是,证明或驳斥这种穷举性非常简单。

很容易测试各种值是否符合预期,是空列表的 not 成员:

>>> None in []
False
>>> False in []
False
>>> [] in []
False
>>> "" in []
False
>>> {} in []
False

是不是 情况?

1 个答案:

答案 0 :(得分:-1)

您可以创建list的子类,尽管我不知道您为什么会这样做,但确实会发生这种情况

class Foo(list):
    def __in__(self, bar):
        return True

bar = Foo()
None in l