1. 程式人生 > >牛客網——日誌排序

牛客網——日誌排序

題目描述

有一個網路日誌,記錄了網路中計算任務的執行情況,每個計算任務對應一條如下形式的日誌記錄: “hs_10000_p”是計算任務的名稱, “2007-01-17 19:22:53,315”是計算任務開始執行的時間“年-月-日 時:分:秒,毫秒”, “253.035(s)”是計算任務消耗的時間(以秒計) hs_10000_p 2007-01-17 19:22:53,315 253.035(s) 請你寫一個程式,對日誌中記錄計算任務進行排序。 時間消耗少的計算任務排在前面,時間消耗多的計算任務排在後面。 如果兩個計算任務消耗的時間相同,則將開始執行時間早的計算任務排在前面。

輸入描述:

日誌中每個記錄是一個字串,每個字串佔一行。最後一行為空行,表示日誌結束。日誌中最多可能有10000條記錄。
計算任務名稱的長度不超過10,開始執行時間的格式是YYYY-MM-DD HH:MM:SS,MMM,消耗時間小數點後有三位數字。
計算任務名稱與任務開始時間、消耗時間之間以一個或多個空格隔開,行首和行尾可能有多餘的空格。

輸出描述:

排序好的日誌記錄。每個記錄的字串各佔一行。
輸入的格式與輸入保持一致,輸入包括幾個空格,你的輸出中也應該包含同樣多的空格
連結:https://www.nowcoder.com/questionTerminal/0f64518fea254c0187ccf0ea05019672
來源:牛客網

res=[]
str = input()
while str:
    res.append(str)
    try:
        str = input()
    except:
        break
res.sort(key=lambda c: (float(c.split()[-1].rstrip("
(s)")), c.split()[1], c.split()[2])) for i in res: print(i)