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-谢谢!这确实是个好主意,我也这么做了。到目前为止效果很好。