Python|列表中的唯一字典过滤器
在使用Python字典时,我们总是会遇到一个问题,其中我们有可能重复的字典列表,并且我们希望删除重复项。这是机器学习领域可能面临的常见问题。让我们讨论一下可以解决这个问题的某种方法。
方法:使用map() + set() + items() + sorted() + tuple()
在这个方法中,我们只是组合功能来执行这个任务。 map
函数执行将逻辑扩展到所有元素的任务。 set
函数对items()
访问的对进行实际过滤。 set 需要sorted
函数来删除重复项。
# Python3 code to demonstrate working of
# Unique dictionary filter in list
# Using map() + set() + items() + sorted() + tuple()
# Initialize list
test_list = [{'gfg' : 1, 'is' : 2, 'best' : 3},
{'gfg' : 1, 'is' : 2, 'best' : 3},
{'gfg' : 9, 'is' : 8, 'best' : 6}]
# printing original list
print("The original list is : " + str(test_list))
# Unique dictionary filter in list
# Using map() + set() + items() + sorted() + tuple()
res = list(map(dict, set(tuple(sorted(sub.items())) for sub in test_list)))
# printing result
print("The list after removing duplicates : " + str(res))
输出 :
The original list is : [{‘gfg’: 1, ‘is’: 2, ‘best’: 3}, {‘gfg’: 1, ‘is’: 2, ‘best’: 3}, {‘gfg’: 9, ‘is’: 8, ‘best’: 6}]
The list after removing duplicates : [{‘gfg’: 1, ‘is’: 2, ‘best’: 3}, {‘gfg’: 9, ‘is’: 8, ‘best’: 6}]