0
我有一个简单的图,并且想要创建一个方法“get_edge”,它将采用两个顶点作为参数,并在它们之间返回边缘(如果存在),否则返回无。这是我尝试过的一个片段。它不起作用,因为它目前创建一个对象,而不是检查是否已经存在一个对象。写get_edge()的最简单方法是什么?如何检查Python中图的两个顶点之间是否存在边?
def add_edge(self, e): """Adds and edge to the graph by adding an entry in both directions. If there is already an edge connecting these Vertices, the new edge replaces it. """ v, w = e self[v][w] = e self[w][v] = e def get_edge(self, v1, v2): try: Edge(v1, v2) print 'Edge exists' except: print 'Edge does not exist' return None
这感觉有点困惑。 get_edge试图处理一个Edge对象,但add_edge不会创建一个 - 它只是设置self [v] [w]和self [w] [v]。哪一个是正确的表示? – rkday 2013-02-14 00:01:13