我正在尝试创建一个双向链表。这是我的代码,但是当我运行它时,它给了我这个输出:<__main__.DLList object at 0x10269d588>
。我不知道如何解决这个问题。
答案 0 :(得分:1)
您尚未定义特殊方法__str__
或__repr__
,因此它们默认显示您不喜欢的显示。要获得自己的显示,请定义此类方法。
例如(在DLList
的正文中)添加:
def __str__(self):
result = []
cur = self.head
while cur is not None:
result.append(repr(cur.data))
cur = cur.next_node
return ', '.join(result)
这不会为每个项目使用开始或结束标记,逗号分隔和repr(而不是str) - 当然,您可以调整每个设计选择(但要注意:使用str代替repr可以创建非常令人困惑的显示,对于实际上完全不同的列表是相同的。)