надеюсь, что кто-то может дать мне подсказку здесь, поэтому у меня есть класс Node, который должен получить 1 обязательное значение и один дополнительный. Идея заключается в том, чтобы вернуть Связанный списоккак создать экземпляр класса и распечатать значение
class Node(object):
def __init__(self, value, next_node = None):
self.value = value
self.next_node = next_node
def get_next(self):
return self.next_node
Сейчас я использую этот класс, чтобы создать связанный список, как:
Z = Node('Z')
Y = Node('Y', Z)
X = Node('X', Y)
W = Node('W', X)
Теперь я хочу, чтобы написать функцию, которая принимает главу списка и печатает его:
def print_reverse(head):
current = head
my_list = []
while current:
current = current.next_node
u = Node(current)
my_list.append(u.value)
print my_list
print_reverse(W)
Проблема, с которой я столкнулся, заключается в том, что я возвращаю адрес памяти вместо фактического значения.
[<__main__.Node object at 0x1033eb390>, <__main__.Node object at 0x1033eb350>, <__main__.Node object at 0x1033eb310>, None]
В принципе, я не знаю, как создать экземпляр значения узла. Я хотел бы получить назад этот
[ W, X, Y , Z, None]
Почему вы выполняете 'u = Node (current)'? Просто 'my_list.append (current.value)'? Выполнение 'u = Node (current)' делает 'u.value = current', поэтому у вас возникает эта проблема. –
@ M.Shaw AttributeError: объект «NoneType» не имеет атрибута «значение» –