我有一个使用邻接列表跟踪顶点和边的graph类,还有一个带有预定义哈希函数的vertex类,如下所示:
class Vertex():
def __init__(self, name):
self.name = name
def __hash__(self):
return hash(self.name)
本质上,在我的Graph类中,我有一个名为addVertex的方法,它接收一个顶点对象,并在添加它之前检查它是否已经存在于图中。如果它已经存在,我想返回已经在图中的对象,而不是我传递给方法的参数。我将如何着手实施这一点?你知道吗
class Graph():
def __init__(self):
self.adjList = {}
def addVertex(vertex):
try:
self.adjList[vertex]
return ???????????
except:
self.adjList[vertex] = {}
return vertex
只需使用成员资格测试:
dict.__contains__
实现将自动使用__hash__
特殊方法。你知道吗请注意,
Vertex
类还必须实现__eq__
相等方法:相关问题 更多 >
编程相关推荐