我正在做一個涉及類Linked_List中的各種函數的項目Linked_List,它是一個雙向鏈表,部分代碼涉及查找列表中的節點數。當我打印出來,但是我得到這個:Python:__init __()需要1個位置參數,但有2個被給出
Traceback (most recent call last)
<ipython-input-7-8ba59f440a47> in <module>()
17
18 if __name__ == '__main__':
19 x = Linked_List([1,2,3,4,5])
20 print(x)
21
TypeError: __init__() takes 1 positional argument but 2 were given
我的代碼如下:
class Linked_List:
class Node:
def __init__(self, val, prev, next):
self.val = val
self.prev = prev
self.next = next
def __init__(self):
self._header = self._Node(None, None, None)
self._trailer = self._Node(None, None, None)
self._header._next = self._trailer
self._trailer._prev = self._header
self._size = 0
def __len__(self):
return self._size
if __name__ == '__main__':
x = Linked_List([1, 2, 3, 4, 5])
print(x)
做*不張貼圖像的代碼*。將問題本身的代碼發佈爲格式化文本。 –
但是,你已經定義了你的'LinkedList'' __init__'只帶'self',但你傳遞給它一個列表。另外,爲什麼你在'LinkedList'裏嵌套'Node'? –
@ juanpa.arrivillaga我不太流利的python,我正在學習python中的數據結構課程,並且我從課本中拿出了一些代碼,它嵌套了_Node,但是教師要求它第一個__init__被公開,下一個__init__被私有,這對我來說沒有任何意義。 – confusedstudent