Gracias por contestar, efectivamente los datos los tengo en una base de datos (Sqlite), pero este problema lo he tenido anteriormente otras veces y no he encontrado una solucion, tengo otros datos que no guardan ese patron, he pasado los datos a hexadecimal y tanto en SQL como en un list el orden no es el natural.
Al final me he "fabricado" una función que me pone un cero delante de los números del 1 al 9, luego los pongo en un list, los ordenó (Sort) y después les quito el cero de delante.