También resolví th es cuestión usando Python, aunque mi versión hace algunas cosas de más, aquí está mi código:
def answer(l):
list1 = [] # this is the list for the nested strings
for x in l:
list1.append(x.split("."))
list2 = [] # this is the same list as list one except everything is an integer in order for proper sorting
for y in list1:
y = map(int, y)
list2.append(y)
list3 = sorted(list2) #this is the sorted list of of list 2
FinalList = [] # this is the list that converts everything back to the way it was
for a in list3:
a = '.'.join(str(z) for z in a)
FinalList.append(a)
return FinalList
Para versiones existen tres cosas; Mayor, menor y la revisión. Lo que hace esto es que lo organiza de modo que '1'
vendrá antes del '1.0'
que vendrá antes del '1.0.0'
. Además, otra ventaja, no es necesario importar ninguna biblioteca en el caso de que no la tenga, y funciona con las versiones anteriores de Python, esta fue específicamente diseñada para la Versión 2.7.6. De todos modos, aquí hay algunos ejemplos:
Inputs:
(string list) l = ["1.1.2", "1.0", "1.3.3", "1.0.12", "1.0.2"]
Output:
(string list) ["1.0", "1.0.2", "1.0.12", "1.1.2", "1.3.3"]
Inputs:
(string list) l = ["1.11", "2.0.0", "1.2", "2", "0.1", "1.2.1", "1.1.1", "2.0"]
Output:
(string list) ["0.1", "1.1.1", "1.2", "1.2.1", "1.11", "2", "2.0", "2.0.0"]
¡Si tiene alguna pregunta, solo comente la respuesta!
Relacionados [Cómo comparar cadenas de "estilo de versión"] (http://stackoverflow.com/q/11887762) –