将绝对时间转换为列表中的相对值

时间:2014-06-24 07:07:53

标签: python list loops

问题在于:

我列出了绝对时间的事件: -

[0, 10, 30, 50, ... ]

我的任务是获取此列表的子集并使时间相对

[0, 10, 20, 20,....] 

我现在正在做这样的事情: -

for element in list :

   if(some criteria) :

       append the element to new empty list

result = []
result.append(new_list[0])
for x in xrange(len(new_list) - 1)
    result.append(new_list[i + 1] - new_list[i])     

有更好更有效的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以尝试使用zip列表切片

relative_times = [b - a for a, b in zip(times, times[1:])]

示例:

times = [0, 10, 30, 50]
relative_times = [b - a for a, b in zip(times, times[1:])]
# [10, 20, 20]