Как сравнить два словаря python и узнать каких ключей нет в том или ином словаре

У меня есть два словаря python:

pp = {'title': 'jr', 'description': '64', 'price': '3'}
cc = {'python': 'dede', 'key:': '#789', 'title': 'jr', 'description': '64', 'price': '3'}

Мне необходимо написать код, который мог бы отображать ключ которого нет в другом словаре, как это можно сделать?

В качестве результата должно получиться:

"key ['python'] not in dict ['cc']"   # написал для примера

Ответы (2 шт):

Автор решения: gil9red

Можно через множества получить разницу в ключах словарей

Пример:

d1 = {'title': 'jr', 'description': '64', 'price': '3'}
d2 = {'python': 'dede', 'key:': '#789', 'title': 'jr', 'description': '64', 'price': '3'}

result = set(d1).difference(set(d2))
if result:
    print(f'В d2 нет ключей d1: {result}')
else:
    print('В d1 все ключи d2')

result = set(d2).difference(set(d1))
if result:
    print(f'В d1 нет ключей d2: {result}')
else:
    print('В d2 все ключи d1')

Результат:

В d1 все ключи d2
В d1 нет ключей d2: {'key:', 'python'}

UPD.

Вместо difference можно использовать оператор -, пример:

result = set(d1) - set(d2)
→ Ссылка
Автор решения: CrazyElf

Ключи словаря - это множество. Множества можно вычитать:

a = {'title': 'jr', 'description': '64', 'price': '3'}
b = {'python': 'dede', 'key:': '#789', 'title': 'jr', 'description': '64', 'price': '3'}
print(a.keys()-b.keys())
print(b.keys()-a.keys())

Вывод:

set()
{'python', 'key:'}

Т.е. в данном случае множество ключей первого словаря целиком есть во втором словаре.
А вот во втором словаре не хватает двух ключей относительно первого словаря.

→ Ссылка