Python-从deltatime数组中删除特定元素

时间:2017-09-18 18:11:24

标签: python python-3.x

所以我有一个deltatime数组dt=[(20,6)(20,7)(20,9)(20,10)(20,11)(20,13)],问题是我不能允许任何数据与列表中的下一个值相比超过一秒。我写了一个小if语句

for k in range(len(dt)-15):
     if dt[k+1].seconds-dt[k].seconds>1:
                 gj.append(dt[k])
                 gj.append(dt[k+1])

我最后得到(20,7)(20,9)(20,11)(20,13)所以我知道哪些时间间隔大于1秒,但我无法弄清楚如何从deltatime数组中删除值。我尝试了numpy.delete但是没有用,因为它是一种不可用的格式。最终目标是拥有一个新数组[(20,6)(20,10)],只有相隔一秒的数据。

1 个答案:

答案 0 :(得分:0)

为什么不检查小于1秒的差异并将其附加到列表中?

代码

For Each key In initialDict

结果

from datetime import time

dt = [(20,6), (20,7), (20,9), (20,10), (20,11), (20,13)]
dt = [time(0, m, s) for m, s in dt]

left = []
for i in  range(len(dt) - 1):
    if dt[i + 1].second - dt[i].second <= 1:
        left.append(dt[i])

print(left)