删除Python中的准重复项

时间:2017-08-11 15:33:49

标签: python python-2.7

在Python中,我有一个对象列表(示例),每个对象实际上由许多numpy数组组成:

A = [Sample([1.,2.],3.,4,[5.,6.]),
     Sample([7.,8.],9.,10,[11.,12.]),
     Sample([13.,14.],15.,16,[17.,18.]),
     Sample([1.05,2.05],3.05,4,[5.05,6.05]),
     Sample([1.05,2.05],3.05,4,[6.,6.05])]

我遇到的问题是这组样本会变得很大,所以我打算做的是一个非常粗略的近似:只有当它与已经存储的样本不够相似时才添加新样本。因此,作为第一个近似值,我想删除由每个列的值0.1内的值给出的任何准重复,即A中的第1行和第4行将被视为准重复,而1和5(或4和5)则不会。

有关如何解决问题的建议吗?我一直在寻找相对有效的解决方案。

我正在考虑如下解决问题:

  • 查找任何准重复项,就像列表是数组一样;
  • 一旦知道了他们的位置,就删除相应的样本条目。

我认为,因为我没有查看完全重复并​​且哈希不是一个选项,我不能使用set(),但我可能错了。目前,我的目的是逐行查看forif循环问题。显然,这个解决方案效率非常低,所以非常感谢任何帮助!

0 个答案:

没有答案