我今天在python上进行Node练习。我似乎已经完成了它的一部分,但它并没有取得圆满成功。
class Node:
def __init__(self, cargo=None, next=None):
self.cargo = cargo
self.next = next
def __str__(self):
return str(self.cargo)
node1 = Node(1)
node2 = Node(2)
node3 = Node(3)
node1.next = node2
node2.next = node3
def printList(node):
while node:
print node,
node = node.next
print
原来的__init__
,__str__
和printList
就是这样的:1 2 3
。
我必须将1 2 3
转换为[1,2,3]
。
我在我创建的列表中使用了append
:
nodelist = []
node1.next = node2
node2.next = node3
def printList(node):
while node:
nodelist.append(str(node)),
node = node.next
但是我列表中的所有内容都在一个字符串中,我不想要那个。
如果我取消str
转换,当我使用print
调用列表时,我只会获得一个内存空间。那么如何获得未列出的未列出名单?
答案 0 :(得分:2)
您应该访问该节点str()
,而不是在节点上调用cargo
:
.
.
.
while node:
nodelist.append(node.cargo)
node = node.next
.
.
.
答案 1 :(得分:0)
def printLinkedList(self):
node = self.head
while node != None:
print(node.getData())
node = node.getNext()