元组字典或元组列表

2024-05-13 00:27:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用例,我需要存储地理坐标(纬度和经度)以及这些坐标到特定固定点的距离。 我可以通过以下方式做到这一点:

  1. 将元组列表创建为[(lat1,long1,distance),(lat2,long2,distance),(lat3,long3,distance),…] 或
  2. 创建一个字典,其中坐标元组作为键,每个坐标对应的距离作为值{(lat1,long1):距离,(lat2,long2):距离,(lat3,long3):距离,…}

我的业务用例要求我获取与固定点之间最小距离的前10个坐标,这需要根据距离进行排序

问题-那么对于这个排序用例,字典还是元组列表,哪种数据结构最好?我知道,当我们知道获取值所需的确切密钥时,字典对于O(1)时间复杂度是有好处的。但是对于这种基于距离排序的场景,我会看到将细节存储在字典中而不是元组列表中的性能优势吗


Tags: 距离列表字典排序用例distance元组地理坐标