使用 'in' 运算符在 python 列表中查找对象
Find object in a python list using the 'in' operator
是否可以做类似这样的事情:
if obj in a_list_of_the_same_obj_type:
#do stuff
我的 obj 已经有 __eq__
和 __ne__
函数来比较一个属性,所以我认为 in
关键字会调用它,但它看起来不像。
您需要实施 __contains__
才能测试成员资格
在这种情况下,运算符 'in' 调用 python 的内置列表对象的 __contains__()
,然后调用对象的 __eq__()
,因此确保您的 obj-class 中的 __eq__()
dunder 方法已正确实施。
是否可以做类似这样的事情:
if obj in a_list_of_the_same_obj_type:
#do stuff
我的 obj 已经有 __eq__
和 __ne__
函数来比较一个属性,所以我认为 in
关键字会调用它,但它看起来不像。
您需要实施 __contains__
才能测试成员资格
在这种情况下,运算符 'in' 调用 python 的内置列表对象的 __contains__()
,然后调用对象的 __eq__()
,因此确保您的 obj-class 中的 __eq__()
dunder 方法已正确实施。