Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/47: Рейтинг темы: голосов - 47, средняя оценка - 4.98
97 / 20 / 13
Регистрация: 27.02.2018
Сообщений: 60

Отсортировать числа, записанные в виде строк

28.02.2018, 13:27. Показов 9193. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При сортировке списка .sort() выдает странный результат. В этом и вопрос,почему так происходит?

Входные данные:
Иванов Сергей 14 56
Сергеев Петр 23 74
Петров Василий 3 99
Васильев Андрей 3 56
Андреев Роман 14 75
Романов Иван 27 68



Python
1
2
3
4
5
6
7
8
9
inFile = open("input.txt", "r", encoding="utf8")
outFile = open("output.txt", "w", encoding="utf8")
reader = inFile.readlines()
scs = []
b = []
for i in reader:
    scs.append(i.split()[2])
scs.sort()
print(scs)
Вывод ['14', '14', '23', '27', '3', '3']
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2018, 13:27
Ответы с готовыми решениями:

Сравнить даты, записанные в виде строк
Здравствуйте имеется две даты в edit1 и в edit2 мне их надо сравнить пишу так if (Edit1.Text>Edit4.Text) then ...

Отсортировать числа записанные в файл
В текстовом файле input.txt дана последовательность целых чисел заканчивающаяся числом 0 (0 – признак окончания ввода, не входит в...

Увеличить в тексте числа записанные в hex виде на заданной е число
Исходя из моего предыдущего вопроса на киберфоруме ссылка: https://www.cyberforum.ru/python-beginners/thread2818930.html Была получена...

5
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
28.02.2018, 13:41
А что не так-то?

Добавлено через 1 минуту
А, видимо, дело в том, что строки отсортировались по алфавиту. А надо по значению числа. Угадал?
1
97 / 20 / 13
Регистрация: 27.02.2018
Сообщений: 60
28.02.2018, 13:46  [ТС]
Хотелось бы ['3', '3', '14', '14', '23', '27']

Добавлено через 3 минуты
Это при помощи key? нужно делать?
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
28.02.2018, 14:04
Лучший ответ Сообщение было отмечено Zarelix как решение

Решение

Python
1
2
3
4
5
>>> l = ['14', '14', '23', '27', '3', '3']
>>> l.sort(key=int)
>>> l
['3', '3', '14', '14', '23', '27']
>>>
1
3 / 3 / 0
Регистрация: 28.02.2018
Сообщений: 15
28.02.2018, 16:42
Если использовать функцию sorted(), то можно отсортировать массив по возврастанию:

Python
1
2
3
4
5
6
a = [3, 5, -17, 34, 5]
 
a = sorted(a)
>> [-17, 3, 5, 5, 34]
 
Только надо бы перевести все строки в числа.
0
 Аватар для Semen-Semenich
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
28.02.2018, 18:22
Цитата Сообщение от Larry_202 Посмотреть сообщение
Если использовать функцию sorted(), то можно отсортировать массив по возрастанию:
открою вам страшный секрет метод sort() по умолчанию делает то же самое. а теперь попробуйте понять разницу между методом и функцией
Python
1
2
3
4
5
6
7
8
>>> a = [3, 5, -17, 34, 5]
>>> print(sorted(a))
[-17, 3, 5, 5, 34]
>>> print(a)
[3, 5, -17, 34, 5]
>>> a.sort()
>>> print(a)
[-17, 3, 5, 5, 34]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2018, 18:22
Помогаю со студенческими работами здесь

Дан массив строк, найти количество строк, которые содержат свою длину в виде числа
Народ очень прошу. Может кто-нибудь написать алгоритм нахождения кол-во строк ? Я знаю, что нужно обращаться к массиву строк и массиву...

Отсортировать рациональные числа в виде: <числитель> <знаменатель>
В файле Ratio содержатся рациональные числа в виде: &lt;числитель&gt; &lt;знаменатель&gt; Расположить их в порядке возрастание (сортировка). ...

Отсортировать в матрице числа на ломаной линии в виде буквы Z
Есть матрица размером n*n, и в ней нужно отсортировать числа на ломаной линии в виде буквы Z, «растянутой» на всю матрицу. Как задать...

Отсортировать элементы массива 5 0 –7 46 –13 54 148 –71,записанные на нечетных местах,
Отсортировать элементы массива 5 0 –7 46 –13 54 148 –71, записанные на нечетных местах, спомощью алгоритма сортировки подсчетом.

Отсортировать числа на ломаной линии в виде буквы П, «растянутой» на всю матрицу
Добрый день, уважаемые программисты. Нужно создать программу, в которой обеспечивается ввод квадратной матрицы. Ввод либо автоматически...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru