我正在寻找一种方便的方法来删除包含在两个词典中的类对象的实例。当我从一个字典中删除对象实例时,我应该在第二个字典中自动删除。无论如何这可能吗?
class node():
def __init__(self, vID):
self.vID = vID
def __hash__(self):
return hash(self.vID)
def __eq__(self, other):
return self.vID == other.vID
class structure():
def __init__(self):
self.point_index_a = {}
self.point_index_b = {}
def add_point(self,x,y):
x_object = node(x)
self.point_index_a[x_object] = None
self.point_index_b[x_object] = None
def a_iter(self):
for k,v in self.point_index_a.iteritems():
print k,v
def b_iter(self):
for k,v in self.point_index_b.iteritems():
print k,v
mg = structure()
mg.add_point(1, 8)
mg.add_point(3, 4)
# point index a
for k,v in mg.point_index_a.iteritems():
print k,v
# point index b
for k,v in mg.point_index_b.iteritems():
print k,v
to_del = mg.point_index_a.iterkeys().next()
del to_del
# point index a, object to_del still exists in both dicts
for k,v in mg.point_index_a.iteritems():
print k,v
# point index b
for k,v in mg.point_index_b.iteritems():
print k,v
答案 0 :(得分:1)
我将按如下方式实施:
class structure():
...
def remove(self, point):
del self.point_index_a[point]
del self.point_index_b[point]