if object in lst:
#do something
据我所知,执行此语句时,它是在内部检查==
与object
中每个元素之间的lst
,这将引用这两个对象的__eq__
方法。这可能意味着两个不同的对象是“相等的”,如果它们的所有属性都相同,则通常需要这样做。
但是,有没有一种方法可以以Python的方式实现诸如in
之类的谓词,其中基础等式检查为is
-也就是说,我们实际上正在检查两个引用是否指向同一个对象?
使用any
功能:
如果您想专门使用is
,则只需使用过滤器,如: