How to print the elements of a linked list?

4 views
Skip to first unread message

hariprasad p

unread,
Feb 5, 2018, 9:29:43 AM2/5/18
to python-dugong
Hi,

I'm doing a Node exercise on python today. I seem to have accomplished a part of it, but it is not a complete success.

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

So that is the original __init____str__ and printList, which makes something like: 1 2 3.

I have to transform 1 2 3 into [1,2,3].

I used append on a list I created:

nodelist = []

node1.next = node2
node2.next = node3


def printList(node):
    while node:
        nodelist.append(str(node)), 
        node = node.next

But everything I get in my list is within a string, and I don't want that.

If I eliminate the str conversion, I only get a memory space when I call the list with print. So how do I get an unstringed list?

Thank You
Hari

Reply all
Reply to author
Forward
0 new messages