如何在不使用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