Error: <__main__.Node object at 0x03A5F990> while using linked-lists
Error: <__main__.Node object at 0x03A5F990> while using linked-lists
下面是使用Python的链表实现:
class Node:
def __init__(self,data,next):
self.data = data
self.next = next
class List:
head=None
tail=None
def printlist(self):
print("list")
a=self.head
while a is not None:
print(a)
a=a.next
def append(self, data):
node = Node(data, None)
if self.head is None:
self.head = self.tail = node
else:
self.tail.next = node
self.tail = node
p=List()
p.append(15)
p.append(25)
p.printlist()
输出:
list
<__main__.Node object at 0x03A9F970>
<__main__.Node object at 0x03A9F990>
要检查您的答案,您需要编辑此内置方法 def __repr__
并重写它。
您也可以通过添加 __str__
方法来做到这一点
这不是错误。您看到的正是您要求的输出:两个 Node 对象。
问题是你没有defined __repr__
or __str__
on your Node class,所以没有直观的方法来打印节点对象的值。它所能做的就是下注并为您提供默认值,这毫无帮助。
从
更改第 13 行
print(a)
至
print(a.data)
下面是使用Python的链表实现:
class Node:
def __init__(self,data,next):
self.data = data
self.next = next
class List:
head=None
tail=None
def printlist(self):
print("list")
a=self.head
while a is not None:
print(a)
a=a.next
def append(self, data):
node = Node(data, None)
if self.head is None:
self.head = self.tail = node
else:
self.tail.next = node
self.tail = node
p=List()
p.append(15)
p.append(25)
p.printlist()
输出:
list
<__main__.Node object at 0x03A9F970>
<__main__.Node object at 0x03A9F990>
要检查您的答案,您需要编辑此内置方法 def __repr__
并重写它。
您也可以通过添加 __str__
方法来做到这一点
这不是错误。您看到的正是您要求的输出:两个 Node 对象。
问题是你没有defined __repr__
or __str__
on your Node class,所以没有直观的方法来打印节点对象的值。它所能做的就是下注并为您提供默认值,这毫无帮助。
从
更改第 13 行print(a)
至
print(a.data)