私はlen関数を機能させることができないようです.私はたくさんのことを試してきましたが、私は完全な初心者なので、完全に明らかな何かが欠けていると確信しています. これは私のコードです...
def __len__(self):
if self.head is None:
return 0
else:
return self.size
この背後にある私の考えは単純です。双方向リンク リストの先頭が None の場合、空でなければならないので 0 を返します。それ以外の場合は、リストのサイズを返します。
ただし、アサーションエラーが発生します...
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