Mam listę Pythona wartości czasu wyodrębnione z dziennika sieci. Mam listę w formacie %H:%M:%S
. Jak sortować wartości czasu w porządku rosnącym?Jak sortować listę wartości czasu w języku Python?
6
A
Odpowiedz
2
sorted([tuple(map(int, d.split(":"))) for d in my_time_list])
gdzie każdy element w my_time_list jest opisać formę, na przykład:
>>> my_time_list
["03:12:08", "14:10:01"]
0
powinno być metodą sort(key=str.lower)
stanie użycie ponieważ twój czas jest analizowany jako łańcuch
5
Wystarczy sorted(time_list)
działa dobrze.
>>> sorted(["14:10:01", "03:12:08"])
["03:12:08", "14:10:01"]
+8
Działa to, ponieważ czasy są wypełnione "0". – SethMMorton
2
import time
sorted((time.strptime(d, "%H:%M:%S") for d in time_list), reverse=True)
powraca [[3, 12, 8], [14, 10, 1]]. Typ danych elementów na zwróconej liście różni się od listy wejściowej, która może nie być tym, co on. – hago
Często wysyłam jednostki czasu do ints, ponieważ 1) Otrzymujesz sprawdzanie typu i 2) Pozwala to na łatwiejszą współdziałanie z typami modułów danych. – Owen