我试图以列表的形式显示链接列表元素,但一直收到这个错误:AttributeError:"NoneType"对象没有属性"data">
class Node:
def __init__(self,data=None,next=None):
self.data = data
self.next = next
class LinkedList:
def __init__(self):
self.head = None
def insert_at_beginning(self,data):
node = Node(data,self.head)
self.head = node
def display(self):
elements = []
currNode = self.head
while currNode:
currNode = currNode.next
elements.append(currNode.data)
print(elements)
if __name__ == "__main__":
ll = LinkedList()
ll.insert_at_beginning(1)
ll.insert_at_beginning(2)
ll.insert_at_beginning(3)
ll.display()
有人能解释一下这里的错误吗?
while循环后,append
数据先进入下一个。您得到这个错误是因为如果currNode.next
为null,那么它显示对象没有属性'data'
。所以,先追加,然后转到下一个。如果currNode.next
为空,则循环将停止。
while currNode:
elements.append(currNode.data)
currNode = currNode.next