Представьте себе следующий класс:
class ThisObj:
def __init__(self, kleur, voedsel, isCool, omschrijving):
self.kleur = kleur
self.voedsel = voedsel
self.isCool = isCool
self.omschrijving = omschrijving
Я создаю два экземпляра этого класса:
obj1 = ThisObj(12, "graan", False, "Cooleman")
obj2 = ThisObj(13, "water", True, "Gekkeman")
Я поместил оба экземпляра в словарь:
dict = {"AAT_FAN_CORR_VSPD_STEP_MPV": obj1,
"C_AIM_ct_DPF-DeltaP_X": obj2}
Я сделаю то же самое для второго словаря:
obj3 = ThisObj(12, "graan", False, "Watermeloen")
obj4 = ThisObj(14, "ranja", True, "Gekkeman")
dict2 = {"AAT_FAN_CORR_VSPD_STEP_MPV": obj3,
"C_AIM_ct_DPF-DeltaP_X": obj4}
После заполнения обоих словарей я хочу сравнить их. Но без атрибута "воедсель". Сравнение их должно выглядеть следующим образом:
del dict["voedsel"]
items = dict ^ dict2
Это вызывает ключевую ошибку при удалении.
KeyError: 'voedsel'
Итак, мой вопрос: как мне сравнить два словаря, как это, не принимая на счету один из атрибутов стоимости. Невозможно изменить объекты до того, как они go войдут в словарь, это потому, что в реальном случае я получаю словарь из другого скрипта, который мне не разрешено изменять.