Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 23

Cортировать список данных на текстовом документе по алфавиту или по размеру

09.02.2020, 23:11. Показов 1536. Ответов 4

Студворк — интернет-сервис помощи студентам
Я хочу сортировать список данных на текстовом документе по алфавиту или по размеру. Как мне этого добиться ? Ну примерный код у меня получилось так , Нужно только сортировка, Можно ли это сделать с помощью ? spisok.sort() :


Python
1
2
3
4
5
6
7
8
9
10
filename = input("Введите желаемое имя файла: ")
 
i=0
 
while i<=10:
 text = input("Введите что хотите внутрь файла: ")
 name = filename + ".txt"
 doc = open(name,"a")
 doc.write("\n" + text)
 i+=1
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.02.2020, 23:11
Ответы с готовыми решениями:

Реализовать сохранение введенных данных в текстовом документе при выходе из программы
Здравствуйте! Нужна помощь! Помогите реализовать сохранение введенных данных в текстовом документе при выходе из программы, и обратно их...

Как сделать чтоб при удаление или изменений значений в dataGridView изменения сохранялись и текстовом документе
У меня есть datagridview в котором выводятся значения из текстового документа, а я хочу чтоб при изменение значений в datadridview, все...

Отсортируйте слова по размеру и по алфавиту
Добрый вечер. Уважаемые программисты, столкнулись с проблемой. Для зачета по программированию нужно написать код в VBA, а написать...

4
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
10.02.2020, 09:07
Цитата Сообщение от Aydynbai Посмотреть сообщение
Можно ли это сделать с помощью ? spisok.sort()
Вопервых не понятно, что Вы собираетесь сортировать. Добавляемый текст или весь вновь получаемый файл? Если весь файл, то его после считывания всего файла и добавления в текстовую строку дополнительного текста, нужно преобразовывать в список слов. Тогда можно использовать
Python
1
list.sort(key=None, reverse=False) -> None
key=None : Функция, принимающая аргументом элемент, используемая для получения из этого элемента значения для сравнения его с другими.

reverse=False : Флаг, указывающий следует ли производить сортировку в обратном порядке.

Для того что бы сортировать по размеру строк, нужно указывать свою функцию f(), преобразующую слова в значения для сравнения, key=f().
Вот примеры использования функции sort:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    my_list = [1, 'two', 'a', 4, 'a']
 
    # Отсортируем, так чтобы 'а' были в конце.
    my_list.sort(key=lambda val: val == 'a')  # None
    # Фактически мы отсортировали в 
        соответствии  с маской 
    [False, False, False, True, True]
    my_list  # ['two', 4, 1, 'a', 'a']
 
>>> M = ['bb', 'aa', 'cc'] 
>>> M.sort() 
>>> M 
['aa', 'bb', 'cc']
 
>>> L = ['abc', 'ABD', 'aBe'] 
>>> L.sort()                   # Сортировка с учетом регистра символов 
>>> L 
['ABD', 'aBe', 'abc'] 
>>> L = ['abc', 'ABD', 'aBe'] 
>>> L.sort(key=str.lower)      # Приведение символов к нижнему регистру 
>>> L 
['abc', 'ABD', 'aBe'] 
>>> 
>>> L = ['abc', 'ABD', 'aBe'] 
>>> L.sort(key=str.lower, reverse=True) # Изменяет направление сортировки 
>>> L ['aBe', 'ABD', 'abc']
Для более сложных преобразований используется lambda - функция.
А затем список нужно преобразовать в текстовую строку и записать в файл.

Добавлено через 8 минут
Если текст нужно разбивать на строки, то в формируемую строку с помощью цикла и по условию нужно в нужные места вставить \n. Или формировать строки и записывать строками.
1
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 23
10.02.2020, 09:25  [ТС]
Мне нужно чтобы введенные слова в input, попадались в текстовый документ и сортировались по алфавиту. Спасибо за ответ!
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
10.02.2020, 09:42
Лучший ответ Сообщение было отмечено Aydynbai как решение

Решение

Aydynbai, Значит нужно считывать весь файл, добавлять вновь введенные слова, сортировать и записывать в файл. Все делается по алгоритму, который я описал выше.

Добавлено через 2 минуты
Сортировать, не считывая весь файл и не преобразуя его в список, у Вас не получится.

Добавлено через 5 минут
Теоретически можно написать функцию сортировки, Которая будет считывать по одному слову и сравнивать с вновь введенным, осуществляя пузырьковую сортировку. Но это будет ужасно не эффективный способ.
1
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
10.02.2020, 17:54
Цитата Сообщение от Aydynbai Посмотреть сообщение
Можно ли это сделать с помощью ? spisok.sort()
можно. сначала соберите все входные данные в список потом spisok.sort() и затем только записать в файл в виде строки или строк
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.02.2020, 17:54
Помогаю со студенческими работами здесь

Программная прокрутка данных в текстовом поле и список.
Мне нужен большой шрифт. В список постоянно добавляются данные, но года заполняется весь список, появляется полоса прокрутки. Хочется,...

Программная прокрутка данных в текстовом поле и список.
Мне нужен большой шрифт. В список постоянно добавляются данные, но когда заполняется весь список, появляется полоса прокрутки. И только....

Массив в текстовом документе
Помогите пожалуйста, как это организовать: Задан текстовый файл, который содержит массив целых чисел. Определите количество элементов...

Удалить \n в текстовом документе
Изучаем работу с csv файлами и у меня задание: реализовать удаление пользователя (записи) по логину. Всё работает, но как я и думал, в...

Поиск слова в текстовом документе
Имеется текстовый файл. Нужно посчитать количество строк, начинающиеся на символ или слово заданное пользователем.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru