Python 3.x 属性错误:';非类型';对象没有属性';数据';在显示链接列表时
我试图以列表的形式显示链表元素,但不断出现以下错误: AttributeError:“非类型”对象没有属性“数据”Python 3.x 属性错误:';非类型';对象没有属性';数据';在显示链接列表时,python-3.x,linked-list,Python 3.x,Linked List,我试图以列表的形式显示链表元素,但不断出现以下错误: AttributeError:“非类型”对象没有属性“数据” 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
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循环之后,
先附加数据,然后再转到下一个。之所以出现此错误,是因为如果currNode.next
为空,则表示对象没有属性'data'
。所以,先追加,然后转到下一步。如果currNode.next
为空,则循环将停止
while currNode:
elements.append(currNode.data)
currNode = currNode.next
在while循环之后,首先追加
数据,然后转到下一个。之所以出现此错误,是因为如果currNode.next
为空,则表示对象没有属性'data'
。所以,先追加,然后转到下一步。如果currNode.next
为空,则循环将停止
while currNode:
elements.append(currNode.data)
currNode = currNode.next
错误是某些变量是None
,但您希望它是节点
。是的,我计算了,但找不到错误消息应该告诉您的变量。我猜它是currNode。下一个
。错误是某些变量是无
,但您希望它是节点
。是的,我计算了,但找不到错误消息应该告诉您的变量。我猜是currNode.next。