【发布时间】:2020-09-28 14:21:13
【问题描述】:
我知道链表的定义...每个单元都有数据并指向下一个...但是它在python中是如何实现的?我真的很困惑……
例如与python中的list比较, 如果我想创建一个列表:
l1 = [1, 2, 3]
如果我想在这个列表中添加元素,只需使用append() 或insert() 就很容易了
但是,很多资料说如果你想制作一个像这样的链表,就需要创建一个类:
class ListNode:
def __init__(self, data):
self.data = data
self.next = None
return
def has_value(self, value):
if self.data == value:
return True
else:
return False
node1 = ListNode(2)
node2 = ListNode(1.2)
node3 = ListNode('a')
我想知道是否有某种方法可以使它更容易,例如:
(1.2) = (2).next
('a') = (1.2).next
另外,我找到了一些类似.val .next .head的方法,什么时候可以使用?
【问题讨论】:
-
ListNode表示列表中的 节点,而不是列表本身。应该有一个List类,其中包含对头节点的引用,并定义了通过遵循头节点的引用来操作列表的方法。 -
例如,
l = List(); l.append(1); l.append(1.2); l.append('a')。l.head.data可以参考2,l.head.next.data可以参考1.2,l.head.next.next.data可以参考'a'。