我仍在學習如何使用對象。我將頂點()定義爲一個方法來返回圖中的頂點(初始化爲vs)。我知道有一個更簡潔,優雅的書寫頂點的方法(),但究竟如何逃避我。如何從方法內引用對象變量
還特別這涉及在心裏想着複雜行使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
我想'add_vertex'和'vertices'方法應縮進。 – mshsayem
他們應該 - 我沒有直接粘貼,這是我的錯誤。 – Chris
另外,不要使用列表作爲默認參數。 http://stackoverflow.com/questions/1132941/least-astonishment-in-python-the-mutable-default-argument – mshsayem