Сегодня я занимаюсь упражнением Node на python. Я, кажется, выполнил часть этого, но это не полный успех.Как распечатать элементы связанного списка?
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
. Итак, как мне получить неуправляемый список?
Я также рекомендую положить '' Нодлист = [] 'в первой строке' 'перечень печати () '', а затем положить '' return nodelist'' в качестве последней строки. Это заставляет функцию возвращать значение вместо доступа к переменной в глобальной области. – pzp