Мне нужно написать функцию, которая получает список словарей (каждый словарь представляет разреженную матрицу) и возвращает словарь матрицы вычитания.
Например: для списка [{(1, 3): 2, (2, 7): 1}, {(1, 3): 6}]
необходимо: return {(1, 3): -4, (2, 7): 1}
.
Матрицы не обязательно должны быть одинакового размера, список может иметь более двух матриц, а если вычитание равно 0, то оно не должно появляться в конечном словаре.
Мне удалось получить -4
, но независимо от того, что я пишу после определения x
, я получаю x == -6
, и я не могу сказать, почему. Я хочу вставить -4
в качестве нового значения для элемента.
lst = [{(1, 3): 2, (2, 7): 1}, {(1, 3): 6}]
def diff_sparse_matrices(lst):
result = {}
for dictionary in lst:
for element in dictionary:
if element not in result:
result[element] = dictionary[element]
if element in result:
x = result[element] - dictionary[element]