【发布时间】:2020-02-28 22:38:12
【问题描述】:
我有一长串时间列表,格式为hh:mm:ss,我想订购它们。为简单起见,假设给定列表如下
l=['07:35:00','01:51:00','04:38:00','09:31:00','12:40:00','06:30:00','12:02:00','04:20:00','02:33:00']
如何使用一些模块或代码 sn-p 来按顺序执行此操作并且比我的代码更简单?
回答:['1:51:0','2:33:0','4:20:0','4:38:0','6:30:0','7:35:0','9:31:0','12:2:0','12:40:0']
我的尝试:
我编写了以下函数:
def time_sorting(l):
t = [ list(map(int, i.split(':'))) for i in l ]
a = np.asarray(t)
h = a[np.argsort(a[:,0])]
a[np.argsort(a[:,0])]
t_l = list()
for i in range(24):
t_l.extend( h[ h[:, 0] == i] [np.argsort(h[ h[:, 0] == i ][:,1]) ].tolist() )
t_f = [':'.join(list(map(str,i))) for i in t_l]
return t_f
另外,我还有其他问题是丢失零。请帮助我保持零原样。
【问题讨论】:
-
如果所有时间都在
HH:MM:SS,那么你只需要l.sort()。 -
time_sorting = sorted -
@accdias:行得通!!!。请把它写成答案。