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

Сортировка

21.10.2021, 20:08. Показов 614. Ответов 5

Студворк — интернет-сервис помощи студентам
Здраствуйте. У меня есть текст который мне надо переработать так чтобы остались только определенные строки. На данный момент это реализовано следующим способом. Как можно сделать то же самое более оптимальным способом?
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
27
28
29
30
31
32
33
34
35
36
37
38
                text = event.message.split("\n")
                sort_test = sorted(text)
                print(sort_test)
                final_text = ""
                for i in sort_test:
                    temp_text = str(i)
                    if temp_text.find("Золота") == 0 or \
                            temp_text.find("Осколки Сердца") == 0 or \
                            temp_text.find("Свободное место") == 0 or \
                            temp_text.find("Чистая первозданная вода") == 0 or \
                            temp_text.find("Первозданная вода") == 0 or \
                            temp_text.find("Карта") == 0 or \
                            temp_text.find("Адский") == 0 or \
                            temp_text.find("Сверкающая чешуя") == 0 or \
                            temp_text.find("Книга") == 0 or \
                            temp_text.find("Рыбий") == 0 or \
                            temp_text.find("Необычный цветок") == 0 or \
                            temp_text.find("Камнецвет") == 0 or \
                            temp_text.find("Болотник") == 0 or \
                            temp_text.find("Сквернолист") == 0 or \
                            temp_text.find("Кров") == 0 or \
                            temp_text.find("Чернильник") == 0 or \
                            temp_text.find("Корень") == 0 or \
                            temp_text.find("Необычная") == 0 or \
                            temp_text.find("Обломок") == 0 or \
                            temp_text.find("Цветок") == 0 or \
                            temp_text.find("Малое") == 0 or \
                            temp_text.find("Кольцо") == 0 or \
                            temp_text.find("Рунное") == 0 or \
                            temp_text.find("Бревно") == 0 or \
                            temp_text.find("Камен") == 0 or \
                            temp_text.find("Железн") == 0 or \
                            temp_text.find("Лен") == 0 or \
                            temp_text.find("Доска") == 0 or \
                            temp_text.find("Ткань") == 0 or \
                            temp_text.find("Пещерный") == 0:
                        final_text += temp_text + "\n"
                   vk_session.method("messages.send", {"chat_id": 5, "message": final_text, "random_id": 0})
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.10.2021, 20:08
Ответы с готовыми решениями:

Сортировка
Ребят помогите от сортировать данный код по убыванию , сейчас он сортирует по возрастанию # -*- coding: utf-8 -*- class Person:...

Сортировка
Пытался сделать визуализацию пузырьковой сортировки (через генераторы), но выводит в итоге не правильный результат, можете подсказать что...

Сортировка
def bubble(a): t = default_timer() counter = 0 for i in range(len(a)): for j in range(len(a)): if...

5
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
21.10.2021, 20:19
Python
1
2
3
4
5
temp_text = 'sfdfsdf'
words = ['первое', 'второе', 'и так далее']
for word in words:
    if temp_text.find(word) == 0:
        pass
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
21.10.2021, 20:20
Apocryph, фразы для начала строк поместить в любую итерируемую структуру.

Python
1
2
3
4
5
6
for i in sort_test:
    temp_text = str(i)
    for k in lst:
        if temp_text.startswith(k):
            final_text += temp_text + "\n"
            break
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
21.10.2021, 20:21
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def bool_fun(line):
                    for data_row in (lst_data):
                        if data_row in line:
                            return False
                    return True
 
 
data_row = ("Осколки Сердца", "Свободное место", "Чистая первозданная вода",
                     "Первозданная вода",   "Карта") # все ваши слова из вашего if
                
text = event.message.split("\n")
sort_test = sorted(text)
print(sort_test)
final_text = ""
for text in sort_test:
    if bool_fun(text) 
        final_text += text + "\n"
vk_session.method("messages.send", {"chat_id": 5, "message": final_text, "random_id": 0})
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
21.10.2021, 20:24
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
все ваши слова из вашего if
или в текстовый файл - каждый с новой строки
далее дело техники
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
21.10.2021, 22:58
Apocryph,
Если ты ищешь совпадение с началом строки (0 это значит есть совпадение начиная с нулевого индекса), то зачем str.find?
str.startswith
Тогда и на индекс 0 проверять не надо.
Python
1
2
3
>>> "Осколки Сердца остались на земле".startswith("Осколки Сердца")
True
>>>
Ну и как выше посоветовали - данные в структуру, код - отдельно. Котлеты с мухами смешивать не надо.

P.S. Можно, кстати, одной регуляркой обойтись: r"^(слово|слово|слово|слово| и т.д.)" Только регулярку такую лучше динамически формировать из списка слов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.10.2021, 22:58
Помогаю со студенческими работами здесь

Сортировка
1)Такси Ограничение по времени работы программы: 1 секунда После затянувшегося совещания директор фирмы решил заказать такси, чтобы...

Сортировка
Мне нужно создать свою сортировку в Python, как например сортировка карт '23456789TJQKA' например дана строка '83756T5Q9AT' нужно чтобы...

Сортировка
Дан список школьников с указанием класса. Требуется отсортировать их по убыванию класса, а в рамках каждого класса — по возрастанию...

Сортировка
Здравствуйте, объясните пожалуйста по какому принципу происходит сортировка? a=int(input()) l=sorted() print(l) Ввод: 4 ...

Сортировка массива
Я начинающий питонист и у меня возник вопрос, как правильно реализовать следуюбщее. У меня есть массив 96х96: в массиве 4 разных значения...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru