【发布时间】:2020-05-20 00:38:44
【问题描述】:
我正在尝试在 python 字典中找到最接近给定元素的 physical 元素。比方说,这是我的字典:
dict = {(1,10): "A", (11,23): "A", (24,2): "B", (25,5): "C"} 带有键等元组。
我想找到与该列表的最后一个元素(25,5): "C" 最接近的值为“A”的键。那将是(11,23): "A"。搜索应该在左侧和右侧都有效。
有没有办法做到这一点?不同的数据结构在这里会更好吗?
【问题讨论】:
-
我认为数据结构不合适,但我不确定我是否非常清楚地理解您的规范。为什么不翻转键和值并对其进行排序,然后进行二等分呢?您能否提供有关您的用例的更多详细信息?谢谢。
-
“接近”是指欧几里得距离,即 dist((25,5), (11,23)) = sqrt(14^2 + 18^2) ?
-
既然字典及其元素不是物理的,那么物理上最接近是什么意思?
-
或者物理上接近,你的意思是
(11, 23): "A"被写下来(在dict的定义中)更接近(25, 5): "C"而不是(1, 10): "A"? -
我不是想找到按字母顺序最接近的值,这只是一个例子。我正在尝试做的事情:对于这个给定的元素,找到在这个字典中物理上最接近它的具有特定值 X 的元素。我所说的“身体上”的意思正是@vahlala 所说的。
标签: python dictionary