Как правильно сравнить два словаря?

Доброго времени суток! У меня есть два словаря такого вида
old_dict = {'Anton':'454.44', 'Sergey':'345.65','Petr':'7634.88'}
new_dict = {'Anton':'1123.20', 'Sergey':'85.34','Petr':'677.09'}

Подскажите пожалуйста, как правильно сравнить эти два словаря с условием, если в new_dict значение больше, чем в old_dict = вывести сообщение.
По ключам имеется ввиду, цифры сравнить, если больше, то вывести сообщение и так по каждому

Заранее спасибо!
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
Bad-Coder
@Bad-Coder
(null)
old_dict = {'Anton':'454.44', 'Sergey':'345.65','Petr':'7634.88'} # Старый словарь.
new_dict = {'Anton':'1123.20', 'Sergey':'85.34','Petr':'677.09'} # Новый словарь.

def match(): # Инициализируем функцию.
    for oldkey, newkey in zip(old_dict, new_dict): # Перебираем ключи сразу двух словарей.
        if float(new_dict[newkey]) > float(old_dict[oldkey]): # Если значение сконвертированое в число с точкой по ключу нового словаря больше чем значение сконвертированое в число с точкой по ключу старого словаря.
            return True # Возвращаем true. (Да).

        return False # Иначе возвращаем false. (Нет).

ismore = match() # Вызываем функцию в переменную.

if ismore: # Если ismore равно true. (Да).
    print('Больше') # Выводим "больше".

elif not ismore: # Если ismore равно false. (Нет).
    print('Меньше') # Выводим "меньше".
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov
Системный администратор
old_dict = {'Anton':454.44, 'Sergey':345.65,'Petr':7634.88}
new_dict = {'Anton':1123.20, 'Sergey':85.34,'Petr':677.09}

items = {k: new_dict[k] for k in new_dict if k in old_dict and new_dict[k] > old_dict[k]}
print(items)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
06 дек. 2021, в 21:20
8000 руб./за проект
06 дек. 2021, в 20:48
750 руб./в час
06 дек. 2021, в 20:39
2000 руб./в час