Я новичок в Python, и у меня возникла проблема с реализацией функции для удаления последнего узла из связанного списка. Это код, который я до сих пор (я кодирование на онлайн-платформе под названием Coderunner, который уже содержит вводную код, реализованный для меня, например, класса Node):Удалить из хвоста связанного списка (Python)
class LinkedList:
def __init__(self):
self.head = None
def print_all(self):
current = self.head
while current != None:
print(current.get_data())
current = current.get_next()
def add(self, item):
new_node = Node(item)
new_node.set_next(self.head)
self.head = new_node
def remove_from_tail(self):
current = self.head
prev = current
while current != None:
current = current.get_next()
prev.set_next(current.get_next())
return current
При выполнении следующего кода:
my_list = LinkedList()
my_list.add('Car')
my_list.add('Bike')
my_list.add('Truck')
result = my_list.remove_from_tail()
print('Removed:', result)
my_list.print_all()
я получаю:
Removed: <__main__.Node object at 0x1063650>
Bike
Truck
Можно ли предположить, где я пошло не так? Кажется, что объект узла печатается, но не значение внутри узла. Заранее спасибо за помощь!
Добро пожаловать в StackOverflow. Прочтите и следуйте инструкциям по отправке в справочной документации. [Минимальный, полный, проверяемый пример] (http://stackoverflow.com/help/mcve) применим здесь. Мы не можем эффективно помочь вам, пока вы не опубликуете свой код и не сможете точно описать проблему. Вы не включили класс ** Node **. Вы не включили код, который печатает «Удалено:». Вероятно, вы печатаете объект Node, а не его имя. – Prune
Вы должны опубликовать класс 'Node'. –
Класс Node не предоставляется мне, вместо этого код, который я реализую, должен работать с тем, что я предполагаю, будет общей реализацией класса Node в python. –