2016-11-27 55 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