如何在不使用numpy或zip的情况下找到两个列表之间的欧氏距离



​​如何在不使用numpy或zip功能的情况下找到两个列表之间的欧氏距离?此外,列表的长度相等,但没有定义列表的长度。

例如:

例1。

list_1 = [0, 5, 6]
list_2 = [1, 6, 8]

ex2.

list_1 = [0, 1, 2, 3, 4]
list_2 = [5, 6, 7, 8, 9]

到目前为止,我有:

def euclidean_distance(p1, p2):
sum = 0
#(I think I need a for loop, possibly nested? --> For x in... for y in...)
ans = (x-y) ** 2
sum += ans
return (sum) ** (1/2)

我认为您可以简化euclidean_distance()函数,如下所示:

def euclidean_distance(p1, p2):
return abs(p1- p2)

一种解决方案是只在函数之外的列表中循环:

for i in range(len(list_1)):
print(euclidean_distance(list_1[i], list_2[i]))

另一个解决方案是使用map((函数:

for result in map(euclidean_distance, list_1, list_2):
print(result)

对于

list_1 = [0, 5, 6]
list_2 = [1, 6, 8]

这会给你输出:

1
1
2

最新更新