I'm dong 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?
Instead of calling str()
on the node, you should access it's cargo
:
.
.
.
while node:
nodelist.append(node.cargo)
node = node.next
.
.
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With