属性错误:'NoneType'对象在显示链表时没有属性'data'



我试图以列表的形式显示链接列表元素,但一直收到这个错误: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

相关内容

  • 没有找到相关文章

最新更新