Ich habe einen Haken bei der Arbeit mit Klassen in einer verknüpften Liste. Mein Code unten:Python Linked List Problem
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Item(object):
def __init__(self, data, next_item = None):
self.data = data
self.next_item = next_item
def get_item(self):
return self.data
def set_next(self, setnext):
self.next_item = setnext
def get_next(self):
return self.next_item
class LinkedList(object):
def __init__(self):
self.head = None
def add(self,item):
temp = Item(item)
temp.set_next(self.head)
self.head = temp
def find(self, item):
current = self.head
while current != None:
if current == item:
print "Found It!"
else:
current = current.get_next()
def print_list(self):
node = self.head
while node:
print node.get_item()
node = node.get_next()
def size(self):
counter = 0
current = self.head
while current != None:
counter += 1
current = current.get_next()
print counter
def insert(self,item,lpos):
current = self.head
while current != lpos:
current = current.get_next()
if current == None:
return None
else:
item_insert = Item(item, lpos.next_item())
lpos.set_next(item_insert)
myList = LinkedList()
myList.add(1)
myList.add(2)
myList.add(3)
myList.insert(8,2)
Wenn ich diesen Code ausführen das Verfahren (Einsatz) schlägt mit dem folgenden Fehler:
Traceback (most recent call last):
File "main.py", line 72, in <module>
myList.insert(8,2)
File "main.py", line 56, in insert
item_insert = Item(item, lpos.Item.next_item())
AttributeError: 'int' object has no attribute 'Item'
Die Insert-Methode ermöglicht es Ihnen, einen Knoten zu verknüpften Liste auf einem hinzufügen spezifizierten Punkt, und führen Sie mit der Neuanordnung der richtigen Zeiger, unter Berücksichtigung der Einfügung.
bitte beraten!
Sie scheinen eine Zeile der Fehlermeldung gelöscht zu haben. – user2357112
Warum sollten Sie eine Traceback kopieren und die wichtigsten Informationen überspringen - Ausnahme selbst? –
@Rogalski Sorry, ich schneide das aus Versehen ab. Ich habe es jetzt hinzugefügt – Paul