Я очень новичок в кодировании, и у меня есть основной вопрос о печати узла в двусвязном списке в Python.
class Node():
def __init__(self, key = None, prev = None, next = None):
self.key = key
self.prev = prev
self.next = next
def __str__(self):
return ('[%s][%d][%s]' % (repr(self.prev), self.key, repr(self.next)))
Очевидно, у меня есть еще код для самого класса списка. Допустим, у меня есть двусвязный список с двумя узлами:
узел 1: ключ 21
узел 2: ключ 10
головка --> узел 1 ‹==> узел 2
Если я печатаю (node1), я получаю:
[*location of prev node*][21][*location of next node*]
который работает именно так, как я хочу.
Итак 2 вопроса:
Является ли этот код «грязным» или приемлемым синтаксисом для метода str?
Вместо того, чтобы печатать местоположение предыдущего и следующего узлов, как мне вместо этого напечатать имена узлов, например.
[node7][82][node9]
?
Надеюсь, это имеет смысл, и спасибо за любую помощь!
self.name
. Одно из свойств связанного списка состоит в том, что отдельные номера не знают, где они в списке, а знают только своих соседей. - person Patrick Haugh   schedule 07.12.2016name
- person RomanPerekhrest   schedule 07.12.20160xdeadbeef
, будетnode 0xdeadbeef
- person Patrick Haugh   schedule 07.12.2016repr
переполнится стеком - person Andrea Corbellini   schedule 08.12.2016