我需要编写一个函数,如果字典中有重复项,则返回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)
def has_duplicates(d):
return False
Run Code Online (Sandbox Code Playgroud)
字典永远不包含重复的键.你的功能,顺便说一句,等同于这个定义,所以它是正确的(只是一点点).
如果你想找到重复的值,那就是
len(set(d.values())) != len(d)
Run Code Online (Sandbox Code Playgroud)
假设值是可清除的.
如果您希望找到字典值的重复:
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)