Python 用于查找区间中的值的数据结构

Python 用于查找区间中的值的数据结构,python,multithreading,Python,Multithreading,我有一个多线程模拟代码,在离散时间步中进行一些计算。因此,对于每个时间戳,我都有一组变量,我希望以后存储和访问这些变量 现在我的问题是: 在以下条件下,什么是好的/最好的数据结构?: 必须是线程安全的(所以我想一个有序的字典在这里可能是最好的)。我有一个线程在写数据,其他线程只读取数据 我希望以后在给定的时间间隔内查找数据,该时间间隔不一定是时间步长的倍数。 例如:我以1的步骤模拟从t=0到t=10的值。如果我得到对t=5.6到t=8.1范围内所有数据的请求,我希望得到模拟值,以便请求的时间在

我有一个多线程模拟代码,在离散时间步中进行一些计算。因此,对于每个时间戳,我都有一组变量,我希望以后存储和访问这些变量

现在我的问题是:

在以下条件下,什么是好的/最好的数据结构?:

  • 必须是线程安全的(所以我想一个有序的字典在这里可能是最好的)。我有一个线程在写数据,其他线程只读取数据
  • 我希望以后在给定的时间间隔内查找数据,该时间间隔不一定是时间步长的倍数。
    例如:我以
    1
    的步骤模拟从
    t=0
    t=10
    的值。如果我得到对
    t=5.6
    t=8.1
    范围内所有数据的请求,我希望得到模拟值,以便请求的时间在返回的时间范围内。在这种情况下,从
    t=5
    t=9
    的所有数据
  • 时间步长可能因运行而异。它在一次运行中是恒定的,因此创建的数据集始终具有一致的时间步长。但我可能希望以更好的时间分辨率重新启动模拟
  • 计算的时间戳数量可能相当大(可能高达一百万)
通过网络搜索,我得到了这样的印象:某种树型结构实现为字典可能是个好主意,但我还需要某种迭代器/索引来遍历数据,因为我希望总是从时间间隔获取数据。我真的不知道那样的事情会是什么样子


这里有很多关于你的帖子。但这些总是包括一些字典中所有键的查找,这对于一百万个键(至少我是这样认为的)来说可能不太酷。

查找排序地图应用程序,例如航班数据库。如果您可以以排序方式(或稍后排序)构建数据结构,并且您知道步长,您甚至可以使用列表。然后可以计算所需时间间隔的指数。@Wups-谢谢!这确实是个好主意,我也这么做了。到目前为止效果很好。