¿Cómo imprimir los elementos de una lista enlazada?

Estoy haciendo un ejercicio de Nodo en Python hoy. Parece que he logrado una parte de eso, pero no es un éxito completo.

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 

Entonces ese es el original __init__ , __str__ y printList , que hace algo como: 1 2 3 .

Tengo que transformar 1 2 3 en [1,2,3] .

append el append en una lista que creé:

 nodelist = [] node1.next = node2 node2.next = node3 def printList(node): while node: nodelist.append(str(node)), node = node.next 

Pero todo lo que tengo en mi lista está dentro de una cadena, y no quiero eso.

Si elimino la conversión de str , solo obtengo un espacio en la memoria cuando llamo a la lista con print . Entonces, ¿cómo puedo obtener una lista sin cadenas?

En lugar de llamar a str() en el nodo, debe acceder a su cargo :

 . . . while node: nodelist.append(node.cargo) node = node.next . . . 
 def printLinkedList(self): node = self.head while node != None: print(node.getData()) node = node.getNext()