python - 如何获得元组和元组列表之间的最近距离?
问题描述
我想在最接近给定元组的列表中找到元组。
我有一个坐标列表和一个点,我需要在列表中找到最接近我的点的项目。
像这样的东西:
cords = [(455, 12), (188, 90), (74, 366), (10,10)]
point = (18, 448)
for c in cords:
dst = distance.euclidean(cords[c], point)
Output = closest distance
我尝试使用scipy.spatial.distance.euclidean
,但这给出了错误:
TypeError:列表索引必须是整数或切片,而不是元组
解决方案
c
是坐标列表中的元组,它不是索引,所以用它代替cords[c]
,你也可以使用min
生成器表达式来得到你想要的:
from scipy.spatial.distance import euclidean
cords = [(455, 12), (188, 90), (74, 366), (10, 10)]
point = (18, 448)
closest_dst = min(euclidean(c, point) for c in cords)
print(closest_dst)
输出:
99.29753269845128
推荐阅读
- command-line-interface - 如何在 alpine 上使用 cli 工具列出 Vsphere 中的所有 VM?
- np - 用负数映射子集总和
- asp.net - 了解 SignalR-集线器、依赖注入和控制器
- angular - AfterAll TypeError:无法读取未定义的属性“isCompleted” - 角度单元测试
- c# - 缺少程序集引用或指令
- python - 如何从文件夹发送图像/gif?(discord.py)
- node.js - 用于 express nodejs 后端的 https net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH
- c# - 如何从 C# 代码动态更新服务器时间
- html - 使用 vw 和 vh 单位居中文本
- c# - 如何制作一个规则字符串,说明是否允许另一个字符串返回布尔值