-4
我正在使用python實現Dijkstra算法,我想知道如何從列表中移除一個對象的實例? 下面是我的代碼中出現錯誤的一部分:「list.remove(x):x not in list」。如何從python列表中刪除對象的實例?
class Vertex:
def __init__(self, id, name):
self.id = id
self.name = name
self.minDistance = float("inf")
self.previousVertex = None
self.edges = []
def computePath(self, sourceId):
for i in self.vertexes:
if i.id == sourceId:
startVertex = i
startVertex.minDistance=0
break
else:
continue
unvisited = []
for vertex in self.vertexes:
unvisited.append(vertex)
while len(unvisited)!=0:
self.visited.append(startVertex)
unvisited.remove(startVertex)
您一直嘗試在循環中反覆移除'startVertex'。 – user2357112
另外'pop()'是一個很好的函數,可以從列表中刪除事物,因爲它已經到位了。 – MooingRawr
@MooingRawr也是這樣''.remove' –