2013-07-18 15 views

risposta

2
sorted([tuple(map(int, d.split(":"))) for d in my_time_list]) 

Dove ogni elemento in my_time_list è nella forma che lei descrive, per esempio:

>>> my_time_list 
["03:12:08", "14:10:01"] 
+0

restituisce [[3, 12, 8], [14, 10, 1]]. Il tipo di dati degli elementi nella lista restituita è diverso dall'elenco di input, che potrebbe non essere quello che ha. – hago

+0

Spesso getto le unità di tempo a ints perché 1) Si ottiene il controllo del tipo e 2) Consente una più facile interoperabilità con i tipi di modulo datatime – Owen

0

si dovrebbe essere in grado di utilizzare il metodo sort(key=str.lower) dal vostro tempo viene analizzato come una stringa

5

Proprio sorted(time_list) funziona bene.

>>> sorted(["14:10:01", "03:12:08"]) 
["03:12:08", "14:10:01"] 
+8

Questo funziona perché i tempi sono "0" imbottiti. – SethMMorton

2
import time 

sorted((time.strptime(d, "%H:%M:%S") for d in time_list), reverse=True) 
Problemi correlati