Ну, хотя значение ключа должно быть уникальным в соответствии с документацией, все еще есть условие, где может появиться повторяющийся ключ.
Например,
>>> import json
>>> a = {1:10, "1":20}
>>> b = json.dumps(a)
>>> b
'{"1": 20, "1": 10}'
>>> c = json.loads(b)
>>> c
{u'1': 10}
>>>
Но в целом, когда Pythonобнаруживает конфликт, он принимает последнее значение, назначенное этому ключу.
Для вашего вопроса вы должны использовать сравнение, например
len(dict) == len(set(dict.values()))
, поскольку набор в python содержит неупорядоченную коллекцию уникальные и неизменяемые объекты, он может автоматически получать все уникальные значения, даже если у вас есть повторяющиеся значения в dict.values()