que tiene una lista de cadenas:Ordenar lista de cadenas de sufijo entero en Python
[song_1, song_3, song_15, song_16, song_4, song_8]
me gustaría que los clasifique por el # al final, por desgracia, ya que los números más bajos no son "08" y son "8", se tratan como mayores de 15 en orden lexicográfico.
sé que tengo que pasar una clave para la función de clasificación, vi esto en alguna parte en este sitio para ordenar los números decimales que son cadenas:
sorted(the_list, key=lambda a:map(int,a.split('.'))
Pero eso fue para "1.2, 2.5, 2.3" pero no tengo ese caso. Pensé en reemplazar ''. con '_', pero por lo que entiendo, convierte ambos lados en ints, que fallarán ya que el lado izquierdo de _ es una cadena.
Cualquier ayuda se agradece
EDITAR: Olvidé mencionar que todos los prefijos son los mismos (canción en este ejemplo)