我似乎無法讓我的len功能工作,我一直在嘗試堆的東西,但我是一個完整的初學者,所以我很肯定我缺少一些完全明顯的東西。這是我的代碼...蟒雙鏈表__len__
def __len__(self):
if self.head is None:
return 0
else:
return self.size
我的想法很簡單。如果雙鏈表的頭部是None,那麼它必須是空的,所以返回0,否則返回列表的大小。
但是,我得到一個錯誤asssertion說...
AssertionError: List should contain 1 element, but length is 0
任何幫助表示讚賞,謝謝提前。
編輯:這是代碼運行的多數民衆贊成我的功能...
testList.add(14)
assert len(testList) == 1, "List should contain 1 element, but length is %r" % len(testList)
EDIT2:這是我的附加功能,即時通訊相當肯定其右,我花2個小時吧...
def add(self, value):
newNode = DoubleListNode(value)
if self.head is None:
self.head = newNode
self.tail = newNode
newNode.prev = None
newNode.next = None
return newNode
elif value < self.head.data:
self.head = newNode
newNode.next = self.head
newNode.prev = None
return newNode
elif value > self.tail.data:
self.tail = newNode
newNode.prev = self.tail
newNode.next = None
return newNode
else:
node = self.head
node2 = node
while node is not None and node.data < value :
node = node.next
node2 = node.prev
newNode.next = node.prev
newNode.prev = node2.next
return newNode
您使用此列表並獲取該錯誤的代碼在哪裏? – BrenBarn
您需要提供有問題的實際代碼 – jamylak
在得到'AssertionError'之前,您是否需要斷言某些內容? –