2012-06-26 66 views
2

基本上我已經是這樣的:最佳相交的時間列表與時間範圍列表方法

secondData = [["8:33:00", 5], ["8:33:01", 3], ...] # and so forth 
minuteData = [["8:33:00", 6], ["8:34:00", 5], ...] # and so forth 

現在假裝的時間是一個實際的DateTime對象

我想要做的是發現了什麼這是最有效的方法,用於遍歷分鐘數據並獲取當天所有包含的第二個數據。例如如果我有「8:34:00」我想要「8:34.00」..「8:34:59」。有沒有一種簡單的方法來爲這個或其他東西做一個列表過濾器?

我應該注意,這些列表按時間順序排列,但可能會丟失第二個數據。例如,我可能只有9:58分鐘的33個數據點。

+0

難道你只是加入到833.00 8:33:00並將其轉換爲浮動,那麼你可以只是過濾浮動範圍? –

回答

4

使用bisect

from bisect import bisect_left 
secondData[bisect_left(secondData, "8:33:00"):bisect_left(secondData, "8:34:00")] 

這會給你的secondData切片的半開區間[「8時33分00秒」。「8點34分00秒」)。

相關問題