Найти - Пользователи
Полная версия: Сортировка списка.
Начало » Python для новичков » Сортировка списка.
1
brainrtp
Доброе, питоновцы. Помогите мне, пожалуйста, корректно отсортировать список.
Вот код:
 name = ['0. Имя0 Фамилия0', '1. Имя1 Фамилия1', '2. Имя2 Фамилия2', '3. Имя3 Фамилия3', '4. Имя4 Фамилия4', '11. Имя11 Фамилия11', '25. Имя25 Фамилия25']
name.sort()
number = 0
for i in name:
    print (name[number])
    number +=1
И мне выводит такую картину:
 0. Имя0 Фамилия0
1. Имя1 Фамилия1
11. Имя11 Фамилия11
2. Имя2 Фамилия2
25. Имя25 Фамилия25
3. Имя3 Фамилия3
4. Имя4 Фамилия4
Как вы можете заметить, сортируется только по . Как сделать, что бы было в порядке возрастания чисел?
Попрошу вас скинуть готовый вариант, буду вам благодарен! Спасибо!
sander
brainrtp
получи число из строки и сортируй по нему
marvellik
судя по твоему выводу у тебя сортируется потому по первому элементу строки а если они равны то по второму и так далее. требуется это?
 name = ['0. Имя0 Фамилия0', '1. Имя1 Фамилия1', '2. Имя2 Фамилия2',
            '3. Имя3 Фамилия3', '4. Имя4 Фамилия4', '11. Имя11 Фамилия11',
            '25. Имя25 Фамилия25']
for i in sorted(name, key = lambda i : int(i.split('.')[0])):
    print(i)
 0. Имя0 Фамилия0
1. Имя1 Фамилия1
2. Имя2 Фамилия2
3. Имя3 Фамилия3
4. Имя4 Фамилия4
11. Имя11 Фамилия11
25. Имя25 Фамилия25
brainrtp
marvellik
судя по твоему выводу у тебя сортируется потому по первому элементу строки а если они равны то по второму и так далее. требуется это?
Спасибо вам большое! Выручили!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB