【发布时间】:2011-11-07 08:59:04
【问题描述】:
Python: How to remove all duplicate items from a list
大家好
我有一个 (file,inode,image,hash)-tuples 列表。如果它们具有相同的哈希值,我需要删除这两个项目。我没有那么多的编程经验,所以也许对我必须看的东西的提示已经很有帮助了。 我已经在互联网上搜索过,但我唯一找到的是this。 到目前为止,我已经想出了这个(非常尴尬)的解决方案:
hashlist = {}
files_tobe_removed = []
for (file, inode, image, hash) in self.files_for_json:
hashlist[hash] = 0
for (file, inode, image, hash) in self.files_for_json:
hashlist[hash] +=1
for (k,v) in hashlist.iteritems():
if v == 2:
files_tobe_removed.append(k)
for (file,inode,image,hash) in self.files_for_json:
if hash in files_tobe_removed:
path = self.outDir + file
os.remove(path)
self.files_for_json.remove((file,inode,image,hash))
任何帮助将不胜感激。提前致谢
【问题讨论】:
-
您应该检查
v>1是否存在三个或更多相同的哈希值。当心哈希冲突
标签: python list duplicates