字典中的重复项(Python)

Nee*_*imo 1 python dictionary

我需要编写一个函数,如果字典中有重复项,则返回true.因此,如果字典中不止一次出现任何内容,它将返回true.

这是我所拥有的,但我很远,不知道该怎么办.

d = {"a", "b", "c"}

def has_duplicates(d):
    seen = set()
    d={}
    for x in d:
        if x in seen:
            return True
        seen.add(x)
    return False

print has_duplicates(d)
Run Code Online (Sandbox Code Playgroud)

Fre*_*Foo 7

def has_duplicates(d):
    return False
Run Code Online (Sandbox Code Playgroud)

字典永远不包含重复的键.你的功能,顺便说一句,等同于这个定义,所以它是正确的(只是一点点).

如果你想找到重复的,那就是

len(set(d.values())) != len(d)
Run Code Online (Sandbox Code Playgroud)

假设值是可清除的.


Ada*_*ner 6

如果您希望找到字典值的重复:

def has_duplicates(d):
    return len(d) != len(set(d.values()))

print has_duplicates({'a': 1, 'b': 1, 'c': 2})
Run Code Online (Sandbox Code Playgroud)

输出:

True
Run Code Online (Sandbox Code Playgroud)