牛客網——日誌排序
阿新 • • 發佈:2018-12-18
題目描述
有一個網路日誌,記錄了網路中計算任務的執行情況,每個計算任務對應一條如下形式的日誌記錄: “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)