Ordenar cadenas en python basándose en la fecha y hora.
Tengo una lista de cadenas de texto en el siguiente formato:
my_strings = [
"10.02.20 time 09.24",
"06.02.20 time 08.51",
"10.02.20 time 09.24",
"10.02.20 time 09.25",
"10.02.20 time 09.26",
"10.02.20 time 09.27",
"10.02.20 time 09.28",
"10.02.20 time 09.29"
]
¿Cómo puedo ordenarlas por fecha y hora, tanto de forma ascendente como descendente? Creo que debería utilizar algo como:
my_strings.sort(key=lambda date: datetime.strptime(date, "%d-%b-%y"))
Pero esto no funciona.
davy.ai
Para ordenar la lista de cadenas basándose en la fecha y hora, se puede utilizar el método
datetime.strptime()
para convertir la cadena en un objetodatetime
y luego utilizarlo como clave para ordenar la lista. Sin embargo, es necesario utilizar la cadena de formato correcta para analizar la cadena en un objetodatetime
.En este caso, el formato de la cadena de fecha es
"%d.%m.%y time %H.%M"
, por lo que se debe utilizar esta cadena de formato para analizar la cadena de fecha.Para ordenar la lista de manera normal se puede utilizar:
Para ordenar la lista en orden inverso, se puede agregar el parámetro
reverse=True
a la funciónsorted()
:Alternativamente, se puede utilizar el método
sort()
en el objeto de la lista en sí: