Уведомления

Группа в Telegram: @pythonsu

#1 Март 7, 2022 22:04:54

kull
Зарегистрирован: 2022-03-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортироввка списка

Доброго времени суток! Как сортировать такой список:

 a = ['1.text', '13.text', '2.text', '14.text', '3.text', '15.text', '4.text', '16.text', '5.text', '17.text', '6.text', '18.text', '7.text', '19.text', '8.text', '20.text', '9.text', '21.text', '10.text', '22.text', '11.text', '23.text', '12.text', '24.text']

text - это какое то слово, но начинается с цифры

На данный момент написал такой код:
 def keyFunc(item):
    return item[1]
a = ['1.text', '13.text', '2.text', '14.text', '3.text', '15.text', '4.text', '16.text', '5.text', '17.text', '6.text', '18.text', '7.text', '19.text', '8.text', '20.text', '9.text', '21.text', '10.text', '22.text', '11.text', '23.text', '12.text', '24.text']
a.sort(key=keyFunc)
print(a)

Результат выполнения:
 ['1.text', '2.text', '3.text', '4.text', '5.text', '6.text', '7.text', '8.text', '9.text', '20.text', '10.text', '21.text', '11.text', '22.text', '12.text', '13.text', '23.text', '14.text', '24.text', '15.text', '16.text', '17.text', '18.text', '19.text']

До 9.text сортирует как надо, но потом пошло не по порядку. Как продолжить порядок сортировки?

Офлайн

#2 Март 7, 2022 22:46:05

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

Сортироввка списка

 a.sort(key=lambda x: int(x.split('.',1)[0]))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version