2012-06-27 53 views
1

我需要一個數據結構,它可以處理以下:「查詢」 Python中的數據結構,基於日期時間

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

...我需要能夠「查詢」基於這種數據結構在日期時間(例如僞代碼:SELECT * FROM data_structure WHERE a_datetime >= date_from AND a_datetime <= date_to;)。

如果沒有這個'查詢'的結果,我需要能夠在數據結構中插入一個新的值。

這樣做的最好方法是什麼? (我現在有點卡住了)

+1

請詳細說明一下,很難說哪裏是Python,哪裏涉及到數據庫 – Kos

+0

對不起,是的,澄清正在增加...完成。 – johneth

+1

帶有元組的列表:'[(datetime_1,object_1),(datetime_2,object_2),...,(datetime_n,object_n)]'和基於關聯的日期時間的過濾器? –

回答

2

看看這個SortedCollection Recipe。它使用bisect module並允許您創建鍵控集合。例如: -

>>> 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') 

可以幫您創建的時間段的信息高速緩存,平分線的做法應該讓你有效地訪問您的日期鍵信息。

相關問題