使用“ is”标识而不是“ ==”等式检查对象是否处于可迭代状态

问题描述 投票:1回答:2
if object in lst:
    #do something

据我所知,执行此语句时,它是在内部检查==object中每个元素之间的lst,这将引用这两个对象的__eq__方法。这可能意味着两个不同的对象是“相等的”,如果它们的所有属性都相同,则通常需要这样做。

但是,有没有一种方法可以以Python的方式实现诸如in之类的谓词,其中基础等式检查为is-也就是说,我们实际上正在检查两个引用是否指向同一个对象?

python list identity equality
2个回答
1
投票

使用any功能:


0
投票

如果您想专门使用is,则只需使用过滤器,如:

© www.soinside.com 2019 - 2024. All rights reserved.