2016-11-27 61 views
0

我试图创建比较两个MD5hashes列表。我需要确定哪些哈希比较并返回比较的哈希。我没有太多的运气,所以任何帮助都会很棒。比较两个列表,返回结果显示

这是我在一分钟:

BadHashes = [] 
for element in filesavedin: 
    if element in hasheddic: 
     BadHashes.append(element) 
     print BadHashes 
return BadHashes 
+3

把你的项目放在'set's并使用'intersection' –

+0

我对Python很新,不确定如何使用sets。我将如何构造它? – MCN7

回答

0

这里是集文档:https://docs.python.org/2/library/sets.html

Codewise:

from set import Set 

set1 = Set([1,1,2,3]) 
set2 = Set([2,2,3,4]) 

intersecting = set1.intersection(set2) 

应该给你intersecting = Set([2,3])。您可以使用list(intersecting)将其转换回列表对象,尽管大多数列表操作符也可以使用集合。

+0

MD5哈希将匹配,但文本不会,会导致错误? [ '706a5076efba4babff1a1a22d394f9c7:icon_clown.gif', 'f6bea6e63a1d311e32a759d6f4859ace:sleeper.jpg', 'e4e7c3451a35944ca8697f9f2ac037f1:StarWarsReview.docx', '6bbaa34b19edd6c6fa06cccf29b33125:nothingtoseehere.docx', [ '9d377b10ce778c4938b3c7e2c63a229a:contraband_file1.jpg',“6bbaa34b19edd6c6fa06cccf29b33125:contraband_file2。 jpg','e4e7c3451a35944ca8697f9f2ac037f1:contraband_file3.jpg','1d6d9c72e3476d336e657b50a77aee05:contraband_file4.gif'] – MCN7

+1

然后我建议您预处理您的列表以隔离md5散列。使用列表理解,例如'proc_list = [x.split(“:”)[0]为hash_list中的x]',然后在那些上运行交集,这样你只会比较md5哈希。 –

+0

如果我想用MD5散列添加文件例如(StarWarsReview.docx),你会怎么做? – MCN7