我仍在学习使用对象。我将 vertices() 定义为在 Graph 中返回顶点(初始化为 vs)的方法。我知道有一种更简洁、更优雅的方式来编写 vertices() 但究竟是如何逃避我的。
这也特别与 Think Complexity 中的练习 2.5 相关:http: //greenteapress.com/complexity/html/book003.html#toc12
class Graph(dict):
def __init__(self, vs=[], es=[]):
for v in vs:
self.add_vertex(v)
def add_vertex(self, v):
"""Add a vertex to the graph."""
self[v] = {}
def vertices(self):
v = []
for i in range(len(self)):
v.append(i)
return v