Pues para ordenar una lista usas lista.sort() si querés que se ordene la lista misma, o sorted(lista) si querés que se devuelva una lista nueva ordenada en vez de modificar la original.
Ambas funciones toman un parámetro opcional que indica la función que debe usarse para la comparación.
Por ejemplo, yo lo haría así:
Código Python:
Ver originaldef compara(a, b):
pos_punto_a = a.find('.')
pos_punto_b = b.find('.')
numero_a = int(a[2:pos_punto_a])
numero_b = int(b[2:pos_punto_b])
if numero_a < numero_b:
retorno = -1
elif numero_a == numero_b:
retorno = 0
else:
retorno = 1
return retorno
lista_ordenada = sorted(lista, cmp=compara) # ->genera nueva lista ordenada
lista.sort(cmp=compara) # -> ordena la lista
Saludos