【问题标题】:In Python, how can I check if an object is in another object (defined by my class)?在 Python 中,如何检查一个对象是否在另一个对象中(由我的类定义)?
【发布时间】:2022-10-19 14:23:25
【问题描述】:

如何检查一个对象是否在另一个对象中?所以说我定义了以下内容:

class Container:
    def __init__(self):
        self.a = ['x','y','z']

我希望能够完成以下工作:

'x' in Container()  # True

我的尝试/猜测是有某种类型的 dunder 方法像这样:

class Container:
    def __init__(self):
        self.a = ['x','y','z']
    def __in__(self, item):
        return item in self.a

【问题讨论】:

    标签: python


    【解决方案1】:

    在这种情况下,运算符依赖于可迭代的对象。所以解决方案是定义 dunder 方法__iter__如下:

    def __iter__(self, item):
        return iter(self.a)
    

    最终产品为:

    class Container:
        def __init__(self):
            self.a = ['x','y','z']
        def __iter__(self, item):
            return iter(self.a)
    

    【讨论】:

      猜你喜欢
      • 2011-06-02
      • 2016-06-05
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 2022-10-01
      • 2021-08-17
      • 1970-01-01
      • 2012-05-07
      相关资源
      最近更新 更多