【发布时间】:2023-02-17 13:35:53
【问题描述】:
我知道将实例方法或任何预设函数插入 None 类型时会发生这些错误,但由于我正在实施单链表我需要将 None 类型分配给最后一个节点。我无法在此处更改输入值,因此如何解决此问题。
以下是我的代码——
class singlyLinked:
class _node:
def __init__(self, data, next):
self._data = data
self._next = next
def __init__(self):
self._head=None
self._tail=None
self._size=0
def __len__(self):
return self._size
def isEmpty(self):
return self._size==0
def first(self):
if self.isEmpty():
raise Error('Queue is Empty')
return self._head._data #front aligned with the head of list
def dequeue(self):
if self.isEmpty():
raise Error('Queue is Empty')
answer=self._head._data
self._head=self._head._next
self._size -= 1
if self.isEmpty():
self._tail=None
return answer
def enqueue(self, e):
newest=self._node(e, None)
if self.isEmpty():
self._head=newest
else:
self._tail._next=newest
self.tail=newest
self._size+=1
我在 Jupyter Notebook 中收到以下错误
AttributeError Traceback (most recent call last)
Cell In [20], line 3
1 a=singlyLinked()
2 a.enqueue(5)
----> 3 a.enqueue(5)
4 a.enqueue(5)
5 a.enqueue(5)
Cell In [19], line 41, in singlyLinked.enqueue(self, e)
39 self._head=newest
40 else:
---> 41 self._tail._next=newest
42 self.tail=newest
43 self._size+=1
AttributeError: 'NoneType' object has no attribute '_next'
【问题讨论】:
标签: python data-structures linked-list singly-linked-list nonetype