Я ищу удобный способ удалить экземпляр объекта класса, который содержится в двух словарях. Когда я удаляю экземпляр объекта из одного dict, я должен автоматически быть удален во втором dict. Это так или иначе возможно?Удаление экземпляра объекта класса, содержащегося в двух Dicts в Python
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
Я бы предложил сделать исключение метод экземпляра 'structure'. – jonrsharpe
Привет, Джон, спасибо за ваш ответ. Я просто попробовал ваше предложение, к сожалению, это не сработало. Не могли бы вы разработать или даже представить пример, основанный на моем коде? –