2017-09-18 21 views
1

私はdeltatime配列dt=[(20,6)(20,7)(20,9)(20,10)(20,11)(20,13)]を持っています。問題は、リスト内の次の値から1秒以上離れているデータを許可していないことです。文がPython-deltatime配列から特定の要素を削除する

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]) 

を行くことと私はので、私は時間が離れて1より大きい秒である知っている(20,7)(20,9)(20,11)(20,13)で終わるが、私はdeltatime配列から値を削除する方法を見つけ出すことができない場合、私は少しを書きました。私はnumpy.deleteを試しましたが、それは役に立たない形式なので、それはうまくいきませんでした。最終的な目標は、新しい配列[(20,6)(20,10)]を1秒間隔のデータだけにすることです。

答えて

0

1秒未満の違いをチェックしてリストに追加してみませんか?

コード

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) 

結果

>>> [datetime.time(0, 20, 6), datetime.time(0, 20, 9), datetime.time(0, 20, 10)] 
関連する問題