【发布时间】:2014-02-20 19:46:45
【问题描述】:
我无法制定一种算法来告诉我一个列表与另一个列表的匹配程度。
例如,如果我有以下列表:
a = [-1,2,3]
b = [3,4,4]
c = [4,-2,-5]
d = [-3,-4,4]
我想知道哪个数组与我的测试列表非常相似。
testarray = [3,4,4]
这应该返回列表b,但我的代码有时返回列表b,有时返回列表d。请帮我编写一个算法,将一个列表与一堆列表进行比较并返回匹配的列表。
【问题讨论】:
-
这些是列表; Python 中的
array类型是完全不同的对象类型。 -
您的距离指标是多少?差异的总和?差异的数量?均方根误差?
-
在您当前的算法中提供代码将有助于非常。
-
用外行的话来说@DonaldMiner 所说的:你说“什么数组非常相似”,但是有多种方法可以定义一个列表与另一个列表“非常相似”的程度。例如,可以说
[1,2,3,4,5,6,7,8,9,10]与[2,3,4,5,6,7,8,9,10,11]非常相似,因为您只需删除开头的1并在第一个列表的末尾添加11,它们是相等的。另一方面,另一个人可能会说它们不相似,因为同一索引处的元素都是不同的。