Я новичок в Python. У меня есть два словаря, которые имеют одни и те же ключи, но разные значения для ключей. Я бы хотел сравнить два словаря, чтобы получить цифровую разницу значений для каждого ключа. Например:Сравнение значений двух словарей для получения их числовой разницы Python
dict1 = {'hi' : 45, 'thanks' : 34, 'please' : 60}
dict2 = {'hi' : 40, 'thanks' : 46, 'please' : 50}
Другими словами, я хотел бы получить третий словарь или список пар, которые показывают численное различие значений в пределах этих двух словарей (iesubtracting . значения dict1 из dict2 (или наоборот), было бы, таким образом, что-то вроде этого:
dict_difference = {'hi' : 5 , 'thanks' : -12, 'please' : 10}
Я знаю, что subtractin г один словарь от другого:
dict1 = Counter({'hi' = 45, 'thanks' = 34, 'please' = 60})
dict2 = Counter({'hi' = 40, 'thanks' = 46, 'please' = 50})
dict3 = dict1-dict2
# будет возвращать только положительные значения, так что это даст:
dict3 = {'hi'= 5, 'please' = 10}
#, который является не то, что я хочу.
Я также думал о преобразовании словарей в список пар (я думаю, что это, как это называется):
dictlist = []
for key, value in dict1.iteritems():`
temp = (key, value)
dictlist.append(temp)
и поэтому
print dictlist #gives:
[('hi', 45),('thanks' = 34), ('please' = 60)]
Так что я подумал, что если я могу чтобы преобразовать словарь в список пар, а затем сделать его в форме ключа: значение будет ключевым = значение. Я бы смог применить метод subtract() и добиться того, чего хочу.
Я думал о достижении этого через def __repr__(self)
, как показано на картинке https://docs.python.org/2/library/collections.html, но я не зашел далеко.
Я был бы очень признателен за любую помощь. Пожалуйста, если возможно, оставьте описание для вашего кода. Если мой подход неправильный, и есть более простой способ вычитать значения одного словаря из другого, пожалуйста, поделитесь им также.
Это не в словарном формате – letsc