Muchas Gracias razpeitia y AlvaroG me aveis ayudado mucho.
La función me ha ido perfecta.
Código Python:
Ver originaldef compara(a, b):
numeros_a = map(int, re.findall("\d+", a))
numeros_b = map(int, re.findall("\d+", b))
if len(numeros_a) == 0:
return 1
if numeros_a < numeros_b:
retorno = -1
elif numeros_a == numeros_b:
retorno = 0
else:
retorno = 1
return retorno
Solo he echo una pequeño añadido por que si hay un nombre que no contenga dígitos lo ponga al final en lugar del principio de la lista.
me podrías explicar un poco como funciona lo de "map"
Muchas Gracias.