Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 值没有传递_Python_List_Class_Methods - Fatal编程技术网

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])