Python 值没有传递
对于我下面的类函数Python 值没有传递,python,list,class,methods,Python,List,Class,Methods,对于我下面的类函数 def add_vertex(self,vertex): for i in range(self.num_vertices): if self.vertices[i] == vertex: return self.vertices[self.num_vertices]=vertex for i in range(self.num_vertices):
def add_vertex(self,vertex):
for i in range(self.num_vertices):
if self.vertices[i] == vertex:
return
self.vertices[self.num_vertices]=vertex
for i in range(self.num_vertices):
self.edges[self.num_vertices][i]=0
self.edges[i][self.num_vertices]=0
self.num_vertices +=1
def add_edges(self,from_vertex,to_vertex,weight):
row=self.index_is(from_vertex)
col=self.index_is(to_vertex)
self.edges[row][col]=weight
当我把这些值
i=0
while i<len(to):
my_graph.add_vertex(from_[i])
my_graph.add_edges(from_[i],to[i],distance[i])
i=i+1
在其他问题中(提示:查看enumerate是如何工作的),
您的代码不会像编写的那样工作,因为您只添加了来自顶点的内容,因此当需要在中查找内容时,您会遇到一个错误(此外,即使“到”中的内容也“从”中的内容,您也会遇到一个问题,即在添加顶点之前尝试添加边。保留大部分代码的最佳方法是将数据馈送更改为类似以下内容:
for i in xrange(len(from_):
g.add_vertex(from_[i])
for i in xrange(len(to):
g.add_vertex(to[i])
for i in xrange(min(len(_from),len(to),len(weight)))
g.add_edges(_from[i],to[i],weight[i])
(最小值只是为了确保您的3个列表长度相同)“该值没有传递from[]、to[]和distance[]的值”-我们希望有适当的描述,而不是谜语。当您说“它们没有传递”时,到底发生了什么?你看到了什么,你尝试了什么?我试图用列表实现一个图,值没有传递,但如果我一个接一个地传递值,它就起作用了
for i in xrange(len(from_):
g.add_vertex(from_[i])
for i in xrange(len(to):
g.add_vertex(to[i])
for i in xrange(min(len(_from),len(to),len(weight)))
g.add_edges(_from[i],to[i],weight[i])