比较大型数据列表中的元素

时间:2016-09-11 15:36:03

标签: python bigdata

我最近有关于python采访的问题。问题是:

  

我们在python中有大量的图片列表(据我所知,我们只是阅读了他们的内容,然后得到了他们的内容列表),[...],这个列表将占用1GB的RAM,例如比较它们的最佳方法是什么(做相同的图片)?   我回答说我们可以将这个列表分成几个列表,然后比较它们中的元素。

但我得到了答案:“这是错的”。 所以我的问题是什么,比较它们的最佳方式是什么?

目前我认为可能使用python的集合并比较源列表和集合的长度?

1 个答案:

答案 0 :(得分:1)

假设列表包含图像内容的原始字节字符串,一种快速而又脏的方法来清除可能的重复项是比较字节字符串的 length 。两个长度不等的字节串的图片不能重复。

然后,对于具有相等长度字节串的每组图片,散列字节串并比较它们。如果哈希值相等,则图片是重复的,否则他们不是。 (为了提高速度,如果组中只有两个字节字符串,请不要进行散列;只需逐个字节地比较字符串。)