Python – 删除字典中的重复值
有时,在使用Python字典时,我们可能会遇到需要删除字典中所有重复值的问题,而我们并不关心在此过程中是否删除了任何键。这种应用可以出现在学校编程和日间编程中。让我们讨论可以执行此任务的某些方式。
方法#1:使用循环
这是我们执行此任务的蛮力方式。在此,我们跟踪发生的值,如果重复则将其删除。
# Python3 code to demonstrate working of
# Remove duplicate values in dictionary
# Using loop
# initializing dictionary
test_dict = { 'gfg' : 10, 'is' : 15, 'best' : 20, 'for' : 10, 'geeks' : 20}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Remove duplicate values in dictionary
# Using loop
temp = []
res = dict()
for key, val in test_dict.items():
if val not in temp:
temp.append(val)
res[key] = val
# printing result
print("The dictionary after values removal : " + str(res))
输出 :
The original dictionary is : {‘gfg’: 10, ‘for’: 10, ‘geeks’: 20, ‘is’: 15, ‘best’: 20}
The dictionary after values removal : {‘gfg’: 10, ‘geeks’: 20, ‘is’: 15}
方法#2:使用字典理解
也可以使用字典理解来执行以下问题。在此,我们以与上述方法类似的方式执行任务,只是作为一种速记。
# Python3 code to demonstrate working of
# Remove duplicate values in dictionary
# Using dictionary comprehension
# initializing dictionary
test_dict = { 'gfg' : 10, 'is' : 15, 'best' : 20, 'for' : 10, 'geeks' : 20}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Remove duplicate values in dictionary
# Using dictionary comprehension
temp = {val : key for key, val in test_dict.items()}
res = {val : key for key, val in temp.items()}
# printing result
print("The dictionary after values removal : " + str(res))
输出 :
The original dictionary is : {‘gfg’: 10, ‘for’: 10, ‘geeks’: 20, ‘is’: 15, ‘best’: 20}
The dictionary after values removal : {‘gfg’: 10, ‘geeks’: 20, ‘is’: 15}