【发布时间】:2012-07-16 22:51:21
【问题描述】:
我两次输入从最小到最大的有序数据。
start_time[s] = [10, 20, 30, 40, 50, 61, 79, 80]
end_time[s] = [8, 9, 15, 31, 41, 60]
列表的大小与生成的日志文件时间戳数据不同
我想得到 end_time 和 start_time 最小值之间的正差的输出
我的代码如下:
for item1 in end_time:
for item2 in start_time:
if (item1 > item2):
new_item = item1 - item2
new_list.append(new_item)
[5, 21, 11, 1, 31, 21, 11, 1, 50, 40, 30, 20, 10]
理想的输出将如下生成:
[5、11、11、20]
5...这是取 15 的 end_time - 10 的 start_time,为什么?它的第一个 end_time > start_time (8,9 也是 end_times 小于 10)
11...这是取下一个 end_time 31(我不想使用 15,因为我会重复计算),然后减去下一个 start_time 20 得到 11。
11...这是通过将以下 end_time 41 减去 start_time 30 得到 11。
20...这将是最后一个条目,它取 end_time 的 60 并使用 start_time 的 40 给出 20 的差值。
【问题讨论】:
-
输入与输出的关系如何?
-
输入是我已转换为秒的两个不同的 hh:mm:ss 时间戳。所以L1相当于开始时间,L2相当于结束时间。
-
...但它们的长度甚至不一样...
-
您的代码不正确(例如
if (L1 < L2)...) -
我进行了额外的编辑以试图澄清我的问题-我还进行了 L1、L2 更改
标签: python numpy python-2.7