基本上我拥有的是:
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秒的数据点。
答案 0 :(得分: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“)。