
奥特曼在思考
调用 numpy内库 计算欧氏距离
# 样本数据
import numpy as np
coords1 = [1, 2, 3]
coords2 = [4, 5, 6]
np_c1 = np.array(coords1)
np_c2 = np.array(coords2)
# NumPy 内建函数
coords = np.linalg.norm(np_c1 - np_c2)
print(coords)
构建for循环计算欧式距离
import numpy as np
# 样本数据
coords1 = [1, 2, 3]
coords2 = [4, 5, 6]
np_c1 = np.array(coords1)
np_c2 = np.array(coords2)
dist = 0
for (x, y) in zip(coords1, coords2):
dist += (x - y) ** 2
coords = dist**0.5
print(coords)
生成器计算
import numpy as np
# 样本数据
coords1 = [1, 2, 3]
coords2 = [4, 5, 6]
np_c1 = np.array(coords1)
np_c2 = np.array(coords2)
coords = sum((x - y) ** 2 for x, y in zip(coords1, coords2)) ** 0.5
print(coords)
numpy函数解决
import numpy as np
# 样本数据
coords1 = [1, 2, 3]
coords2 = [4, 5, 6]
np_c1 = np.array(coords1)
np_c2 = np.array(coords2)
coords = np.sqrt(np.sum((np_c1 - np_c2)**2))
print(coords)