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

现在假装时间是一个实际的日期时间对象

我想要做的是找到最有效的方法来遍历分钟数据并获取该分钟所有包含的秒数据。例如,如果我有“8:34:00”,我想要“8:34.00”..“8:34:59”。有没有一种简单的方法可以为此或其他东西制作列表过滤器?

我应该注意,这些列表是按时间顺序排列的,但是可能会丢失第二个数据。例如,我可能只有 9:58 分钟的 33 个数据点。

4

1 回答 1

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") 的切片。

于 2012-06-26T16:30:06.363 回答