LINUX.ORG.RU

Сортировка строк с числами в python

 


1

4

Нет ли в стандартной библиотеке python решения для сортировки строк, содержащих числа таким образом:

aa1
aa2
aa10

?

Стандартные sort и sorted сортируют так: «aa1 aa10 aa2», то есть чисто по алфавиту.

Гугл предлагает писать самому. Это не трудно, там пара строчек. Но как-то странно для такого языка, что такой элементарной фичи нет.

from natsort import natsorted
natsorted(your_list)
Goury ★★★★★
()

строк, содержащих числа

google://alphanumeric

>>> l = ['aa1', 'aa10', 'aa2']
>>> from natsort import natsorted, ns
>>> natsorted(l, alg=ns.IGNORECASE)
['aa1', 'aa2', 'aa10']

system-root ★★★★★
()

Стандартные sort и sorted сортируют так: «aa1 aa10 aa2», то есть чисто по алфавиту

Это в каком таком алфавите есть цифры? Пиши свою сортировку.

Virtuos86 ★★★★★
()
Ответ на: комментарий от pol01

А если у меня строки 'aa2', 'bb1'? Как я понимаю - мне надо сортировать и по букве, и по цифре. Если же суть сортировки - в последней цифре, то решение хорошее, ТС, зря говоришь, что фигня

aarexer
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.