0
我对编码非常陌生,我有一个关于在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
如果我打印(节点1),我得到:
[*location of prev node*][21][*location of next node*]
which works exa如何我想要的。
所以2个问题:
这段代码 “混乱” 或可接受的语法为海峡方法?
而不是打印的位置prev和next节点的,我怎么会打印名节点而不是如
[node7][82][node9]
?
希望这是有道理的,并感谢您的帮助!
1.这很好。 2.您的节点没有名称。如果你想要他们有名字,那么你必须有一个'self.name'属性。链表的一个属性是单个noes不知道他们在哪里,只有他们的邻居。 –
*节点的名称* - 至少,每个节点实例应具有'name'属性 – RomanPerekhrest
@PatrickHaugh感谢您的回复。 OK,所以一旦我创建了一个节点,它就不知道它自己的名字了......我必须像你说的那样设置一个self.name属性......知道了!我猜这是不常见的做法,尽管它并不需要以漂亮的格式打印节点。 – greenslime