这些链接中的方法:
- 在列表中删除重复项 - 如何删除列表中的重复项并保持顺序? 不要帮我,因为字典是不可哈希的。
有什么想法吗?如果需要更多信息,请评论并我会添加信息。
编辑:
重复的字典是具有相同的
list[dictionary][key]
值的任意两个字典。
Ok,这里是一个详细的解释,供需要的人参考。
我有一个像这样的字典列表:
[ {
"ID" : "0001",
"Organization" : "SolarUSA",
"Matchcode" : "SolarUSA, Something Street, Somewhere State, Whatev Zip",
"Owner" : "Timothy Black",
}, {
"ID" : "0002",
"Organization" : "SolarUSA",
"Matchcode" : "SolarUSA, Something Street, Somewhere State, Whatev Zip",
"Owner" : "Johen Wilheim",
}, {
"ID" : "0003",
"Organization" : "Zapotec",
"Matchcode" : "Zapotec, Something Street, Somewhere State, Whatev Zip",
"Owner" : "Simeon Yurrigan",
} ]
在这个列表中,第一个和第二个字典是重复的,因为它们的Matchcodes
是相同的。
现在,这个列表将按照以下代码进行排序:
# sort_by is "Matchcode"
def sort( list_to_be_sorted, sort_by ):
return sorted(list_to_be_sorted, key=lambda k: k[sort_by])
我有一个按Matchcode
排序的字典列表。现在我只需要遍历列表,访问list[dictionary][key]
并在两个键值匹配时删除重复项。
__eq__
、__hash__
等方法,那些其他的答案也会适用。 - Steven Rumbalski