基于日期时间在Python中“查询”数据结构

时间:2012-06-27 10:26:39

标签: python

我需要一个可以处理以下内容的数据结构:

date_from (datetime)
date_to (datetime)
value (float)

...我需要能够根据日期时间(例如伪代码:SELECT * FROM data_structure WHERE a_datetime >= date_from AND a_datetime <= date_to;)'查询'此数据结构。

如果没有来自此'查询'的结果,我需要能够在数据结构中插入新值。

这样做的最佳方法是什么? (我现在有点卡住了)

1 个答案:

答案 0 :(得分:2)

看看这个SortedCollection Recipe。它使用bisect module并允许您创建一个键控集合。 E.g:

>>> from SortedCollection import SortedCollection
>>> from operator import itemgetter
>>> s = SortedCollection(key=itemgetter(0))
>>> s.insert((1,2,'a'))
>>> s.insert((10,20,'b'))
>>> s.insert((20,30,'c'))
>>> s.find_le(10)
(10, 20, 'b')

可以帮助您创建时间段信息缓存,bisect方法可以让您有效地访问日期键控信息。