如何检查一个对象是否在另一个对象中?假设我定义了以下内容:
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
在这种情况下,中的运算符依赖于可迭代的对象。因此,解决方案是为__iter_定义dunder方法,如下所示:
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)