私はまだオブジェクトを扱うことを学んでいます。Graph で頂点 (vs として初期化) を返すメソッドとして vertices() を定義しました。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