如何打印链表的元素?

时间:2015-04-27 22:24:10

标签: python

我今天在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调用列表时,我只会获得一个内存空间。那么如何获得未列出的未列出名单?

2 个答案:

答案 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()