【发布时间】:2021-08-31 08:44:45
【问题描述】:
假设我有一个如下所示的类:
class OBJ:
def __init__(self, a):
self.A = a
我有 2 个这些对象的列表
# sorry this is a bad example, plz look at the bottom
a = [OBJ(1), OBJ(0), OBJ(20), OBJ(-1)]
b = [OBJ(20), OBJ(-1), OBJ(1), OBJ(0)]
我如何证明这两个列表的内容是相同的? 我曾尝试使用 sorted() 方法,但它似乎不起作用,因为您无法在逻辑上比较 2 个对象。有没有人有快速有效的方法来解决这个问题?谢谢!
编辑: 抱歉,这 2 个列表是一个不好的例子。当我的意思相同时,我的意思是它们都指的是同一个对象。所以:
a = OBJ(1)
b = OBJ(-1)
c = OBJ(20)
x = [a,b,c]
y = [c,a,b]
如何证明 x 和 y 相同?
【问题讨论】:
-
内容“相同”是什么意思?使用您发布的代码,
(OBJ(0) == OBJ(0)) is False -
对不起,我的意思是他们应该引用同一个对象,我已经编辑了问题
-
你的意思是指同一个对象,还是对象有相同的输入?如果您要检查它们是否指向完全相同的对象,我已经编辑了我的答案。