以下是一个示例代码,用于按时间戳间隔要求计算连续记录的数量:
def count_consecutive_records(timestamps, interval):
count = 1
consecutive_count = []
for i in range(len(timestamps)-1):
if timestamps[i+1] - timestamps[i] <= interval:
count += 1
else:
consecutive_count.append(count)
count = 1
consecutive_count.append(count)
return consecutive_count
# 示例输入数据
timestamps = [1, 2, 3, 5, 6, 8, 9, 10, 12, 13, 16]
interval = 2
result = count_consecutive_records(timestamps, interval)
print(result)
这里的timestamps
是一个包含时间戳的列表,interval
是一个时间戳间隔的要求。函数count_consecutive_records
会遍历时间戳列表,如果当前时间戳与下一个时间戳的差值小于等于指定的间隔,则计数器count
加1。如果差值大于间隔,则将计数器的值存入consecutive_count
列表中,并将计数器重置为1。最后,将最后一个计数器的值也存入consecutive_count
列表中,并返回该列表。
在上述示例中,时间戳列表timestamps
为[1, 2, 3, 5, 6, 8, 9, 10, 12, 13, 16]
,间隔要求为2。根据这些数据,函数将返回[3, 2, 3]
,分别表示连续的记录数量为3、2和3。