用给定列表计算欧氏距离

时间:2016-12-09 19:43:52

标签: python euclidean-distance

"()"

所以我有一组测试用例,它给了我两个带数字的列表。我的任务是用给定的列表计算欧氏距离。但是,我没有得到正确的结果。我得到了3.7416573867739413,3.0,2.0和2.0。这是我到目前为止所做的,我不确定我做错了什么。

1 个答案:

答案 0 :(得分:4)

问题在于:

       QUOTIENTS OF EACH DIVISION
            ▼     ▼     ▼
     23÷4 = 5÷4 = 1÷4 = 0
      3     1     1
      ▲     ▲     ▲
 REMAINDERS OF EACH DIVISION

因此,对于abs $t1, $t1 中的每个点,您正在访问 for x in alist: for y in blist: 中的所有点。例如,对于alistblist,此循环会生成对alist = [1, 2, 3]但您要做的只是查看blist = [4, 5, 6]。这可以通过zip功能实现。如果迭代(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6),它将迭代这些点。您可以通过执行

来确认
(1, 4), (2, 5), (3, 6)

因此,如果您使用zip上的单个循环更改嵌套循环,它将计算正确的距离。

zip(alist, blist)