我们如何在字典中找到并删除重复值及其键。
示例:
f = {1:4, 1:3, 4:4, 9:4, 5:7}
输出:
f = f = {1:3, 5:7}
正如您所看到的,他们重复值为4的所有键都已删除......
还有一种方法可以跟踪已删除的项目数量......在上述情况下,已删除了3项。
答案 0 :(得分:5)
计算值:
import collections
value_occurrences = collections.Counter(f.values())
然后过滤出多次出现的那些:
filtered_dict = {key: value for key, value in f.items()
if value_occurences[value] == 1}
要查找删除的数量,只需从旧字典中减去新字典的大小。
答案 1 :(得分:1)
要跟踪已删除的项目数量,您可以创建一个变量= 0,然后每次删除某些内容时+ =该变量
或
你可以在执行此操作之前测量len(f),然后在运行代码后测量len(f),看看两者之间有什么区别,并且你已经删除了多少项
答案 2 :(得分:1)
试试这个
list1=[]
f = {1:4, 1:3, 4:4, 9:4, 5:7}
for value in f.values():
if value not in list1:
list1.append(value)
for key in f.keys():
if key in list1:
del f[key]
return f
输出将是
{1: 3, 5: 7, 9: 4}