在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()
,但我可能错了。目前,我的目的是逐行查看for
和if
循环问题。显然,这个解决方案效率非常低,所以非常感谢任何帮助!