【发布时间】:2020-09-05 05:18:09
【问题描述】:
我的数据列表是这样的,其中我将时间戳转换为小时、分钟和秒以及在此期间发生的异常。数据已经采用sorted 方式,因此只有在时间(小时、分钟和秒)相同但异常名称不同时才会更改顺序。
在这种情况下,数据将按字母顺序排序。 (仅限特定时间)
预期输出:
21:15-21:30 IllegalAgrumentsException 1,
21:15-21:30 NullPointerException 2,
22:00-22:15 UserNotFoundException 1,
22:15-22:30 NullPointerException 1,
22:30-22:45 UserNotFoundException 3,
22:45-23:00 UserNotFoundException 1,
23:00-23:15 NullPointerException 1,
23:15-23:30 UserNotFoundException 1,
23:30-23:45 NullPointerException 2,
23:45-00:00 IllegalAgrumentsException 1,
00:00-00:15 UserNotFoundException 1,
00:30-00:45 NullPointerException 1,
00:45-01:00 UserNotFoundException 1,
01:00-01:15 IllegalAgrumentsException 1,
01:15-01:30 UserNotFoundException 1,
01:30-01:45 NullPointerException 1,
01:45-02:00 IllegalAgrumentsException 1,
02:00-02:15 IllegalAgrumentsException 1,
02:15-02:30 UserNotFoundException 1,
02:30-02:45 NullPointerException 1,
03:00-03:15 IllegalAgrumentsException 1
数据以下列方式。
data =
{'second': 12, 'data': 'NullPointerException', 'hour': 21, 'minute': 27}
{'second': 12, 'data': 'NullPointerException', 'hour': 21, 'minute': 27}
{'second': 12, 'data': 'IllegalAgrumentsException', 'hour': 21, 'minute': 27}
{'second': 32, 'data': 'UserNotFoundException', 'hour': 22, 'minute': 0}
{'second': 12, 'data': 'NullPointerException', 'hour': 22, 'minute': 17}
{'second': 52, 'data': 'UserNotFoundException', 'hour': 22, 'minute': 33}
{'second': 52, 'data': 'UserNotFoundException', 'hour': 22, 'minute': 33}
{'second': 52, 'data': 'UserNotFoundException', 'hour': 22, 'minute': 33}
{'second': 32, 'data': 'UserNotFoundException', 'hour': 22, 'minute': 50}
{'second': 12, 'data': 'NullPointerException', 'hour': 23, 'minute': 7}
{'second': 52, 'data': 'UserNotFoundException', 'hour': 23, 'minute': 23}
{'second': 32, 'data': 'NullPointerException', 'hour': 23, 'minute': 40}
{'second': 32, 'data': 'NullPointerException', 'hour': 23, 'minute': 40}
{'second': 12, 'data': 'IllegalAgrumentsException', 'hour': 23, 'minute': 57}
{'second': 52, 'data': 'UserNotFoundException', 'hour': 0, 'minute': 13}
{'second': 32, 'data': 'NullPointerException', 'hour': 0, 'minute': 30}
{'second': 12, 'data': 'UserNotFoundException', 'hour': 0, 'minute': 47}
{'second': 52, 'data': 'IllegalAgrumentsException', 'hour': 1, 'minute': 3}
{'second': 32, 'data': 'UserNotFoundException', 'hour': 1, 'minute': 20}
{'second': 12, 'data': 'NullPointerException', 'hour': 1, 'minute': 37}
{'second': 52, 'data': 'IllegalAgrumentsException', 'hour': 1, 'minute': 53}
{'second': 32, 'data': 'IllegalAgrumentsException', 'hour': 2, 'minute': 10}
{'second': 12, 'data': 'UserNotFoundException', 'hour': 2, 'minute': 27}
{'second': 52, 'data': 'NullPointerException', 'hour': 2, 'minute': 43}
{'second': 32, 'data': 'IllegalAgrumentsException', 'hour': 3, 'minute': 0}
我已经将数据格式化为 15 分钟的范围,但我无法对数据进行排序。而且我还需要保留当时异常数据的计数。
我已尝试迭代数据,但如果异常名称未按字母顺序排列,我无法交换数据。如何做到这一点?
【问题讨论】:
-
可以理解
21:15-21:30是什么意思,如果它表示开始时间和结束时间,那么您的数据就会丢失一些东西 -
这就是我们需要在 15 分钟时间范围内格式化数据的方式,这将在数据排序后完成,并且我们得到了 @AdamSherif 的计数。我已经完成了那部分。如果您愿意,我可以在此处发布该代码
标签: python python-3.x list dictionary hashmap