У меня есть список строк:
[song_1, song_3, song_15, song_16, song_4, song_8]
Я хотел бы отсортировать их по # в конце, к сожалению, поскольку нижние числа не являются "08" и "8", в лексикографическом порядке они рассматриваются как более 15.
Я знаю, что мне нужно передать ключ в функцию сортировки, я видел это где-то на этом сайте для сортировки десятичных чисел, которые являются строками:
sorted(the_list, key=lambda a:map(int,a.split('.'))
Но это было для "1.2, 2.5, 2.3", но у меня этого нет. Я думал о замене "." с '_', но из того, что я понимаю, он преобразует обе стороны в ints, что не удастся, так как левая часть _ является строкой.
Любая помощь будет оценена
EDIT: я забыл упомянуть, что все префиксы одинаковы (песня в этом примере)