欧式距离代码python
时间: 2023-09-10 13:10:57 浏览: 40
下面是计算欧式距离的Python代码:
```python
import math
def euclidean_distance(x, y):
return math.sqrt(sum([(a - b) ** 2 for a, b in zip(x, y)]))
# 示例
a = [1, 2, 3]
b = [4, 5, 6]
print(euclidean_distance(a, b)) # 输出 5.196152422706632
```
其中,`x`和`y`是两个向量,可以是列表、元组、集合等可迭代对象,它们的长度必须相等。`zip`函数将两个可迭代对象打包成一个个元组,`sum`函数对所有元素进行求和,最后使用`math.sqrt`计算平方根得到欧式距离。
相关问题
欧式距离python代码
以下是计算两点欧式距离的Python代码:
```python
import math
def distance(x1, y1, z1, x2, y2, z2):
d = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2 + (z2 - z1) ** 2)
return d
x1, y1, z1 = map(float, input().split(","))
x2, y2, z2 = map(float, input().split(","))
d = distance(x1, y1, z1, x2, y2, z2)
print("{:.2f}".format(d))
```
其中,`distance`函数接收两个点的坐标参数,计算它们之间的欧式距离并返回。`map`函数用于将输入的字符串转换为浮点数。最后,使用`print`函数输出结果,保留两位小数。
Python欧式距离代码
### 回答1:
可以使用以下代码计算两个向量之间的欧式距离:
```python
import numpy as np
def euclidean_distance(x, y):
return np.sqrt(np.sum((x - y) ** 2))
# 示例
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
print(euclidean_distance(x, y)) # 输出:5.196152422706632
```
这段代码使用了 NumPy 库来进行向量运算,计算出两个向量之间的欧式距离。
### 回答2:
欧式距离是一种常用的距离度量方式,用于计算向量空间中两个点之间的距离。在Python中,可以通过以下代码来计算欧式距离:
```python
import math
def euclidean_distance(p1, p2):
# 确保传入的两个点具有相同的维数
assert len(p1) == len(p2), "维数不匹配"
# 初始化距离为0
distance = 0
# 逐个计算每个维度上的差值的平方,并累加到距离中
for i in range(len(p1)):
distance += (p1[i] - p2[i]) ** 2
# 对距离进行开方,得到欧氏距离
distance = math.sqrt(distance)
return distance
# 测试代码
point1 = [1, 2, 3]
point2 = [4, 5, 6]
distance = euclidean_distance(point1, point2)
print("欧氏距离为:", distance)
```
以上代码定义了一个`euclidean_distance`函数,接受两个点作为参数。在函数内部,首先进行维数的匹配检查,然后依次计算每个维度上的差值的平方,并累加到距离变量中。最后,对距离进行开方操作,得到欧氏距离,并返回该距离。
在测试代码中,我们创建了两个三维点`[1, 2, 3]`和`[4, 5, 6]`,调用`euclidean_distance`函数计算它们之间的欧氏距离,并将结果打印出来。