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

Поиск списка в списке

24.11.2022, 12:18. Показов 601. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую,

Подскажите как найти (и можно ли вообще это сделать готовыми методами) список с известными начальными и конечными элементами,
между которыми может быть что угодно и сколько угодно (но что то точно должно быть):
Другими словами:
есть список [3, 3, 7, 12, 23, 1, 2, 3, 4, 5, 6, 7, 12, 23, 23, 45, 5, 12, 23, 12, 23, 12, 23, 23]
в этом списке нужно все элементы находящиеся между 12, 23( но не 12, 23) объединить в новые списки,
получить:
[[1, 2, 3, 4, 5, 6, 7],[23, 45, 5]]
при этом между "12, 23" должно что то находиться (то есть пустых списков в результате не надо)
в идеале без внешних "for" или "while" и "if"(с перебором элементов в цикле делал - очень долго работает)

P.S.
как вариант других входных данных:
[3, 3, 7, 12, 23, 1, 2, 3, 4, 5, 6, 7, 12, 23, 12, 23, 23, 45, 5, 12, 23, 12, 23, 12, 23, 23]
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.11.2022, 12:18
Ответы с готовыми решениями:

Поиск в списке и вывод элементов списка
Здравствуйте Прохожу курс обучения и не могу справиться с задачей Условие: На вход программе подается натуральное число n, затем...

Число элементов списка, среднее значение, минимальный и максимальный элемент в списке, медиану списка
Напишите функцию print_statistics(arr), которая принимает список целых чисел и печатает несколько так называемых статистик этого списка:...

Поиск списка Х в списке У и редактирование списка Х в зависимости от результата
Привет. Есть 2 списка, в одном хранятся пользовательские данные, а в другом длинный список номеров телефонов и название провайдера. В...

3
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
24.11.2022, 12:51
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
n = [3, 3, 7, 12, 23, 1, 2, 3, 4, 5, 6, 7, 12, 23, 23, 45, 5, 12, 23, 12, 23, 12, 23, 23]
l = [12, 23]
r = []
for i in range(len(n) - 2):
    t = []
    if n[i:i+2]==l:
        i +=2
        p = True
        while n[i:i+2]!=l and i<len(n):
            t.append(n[i])
            i += 1
            if i==len(n): p = False
    if t and p:
        r.append(t)
print(r)
0
0 / 0 / 0
Регистрация: 13.03.2021
Сообщений: 19
24.11.2022, 14:07  [ТС]
Спасибо за Ваш ответ, но хотелось бы узнать есть ли библиотечные/встроенные методы сделать это...
например я смотрел в сторону регулярных выражений (но честно не знаю на сколько они быстрее и быстрее ли)
Проблема в том что обработка файла в 6МБ занимает около 2х минут

P.S.
Понимаю что питон не про скорость, но на сколько знаю многие библиотеки Python написаны на низкоуровневых языках... Поэтому предполагаю что их использование сократит время обработки. Ошибаюсь?
0
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
24.11.2022, 15:07
Как вариант:
Python
1
2
3
4
5
6
7
8
9
10
11
12
import re
n = [3, 3, 7, 12, 23, 1, 2, 3, 4, 5, 6, 7, 12, 23, 23, 45, 5, 12, 23, 12, 23, 12, 23, 23]
s = ' '.join(str(x) for x in n)
l = re.split(r' 12 23 ', s)
print(s)
if s[:1]!='12 23': l.pop(0)
if s[-2:]!='12 23': l.pop(-1)
r = []
for i in l:
    if i!='12 23':
        r.append(list(map(int, i.split())))
print(r)
PS честно говоря, не силен пока в регэкспах, поэтому буду рад, если более опытные товарищи покажут, как надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.11.2022, 15:07
Помогаю со студенческими работами здесь

Поиск списка в списке Excel
Всем доброго дня, собственно суть оптимизации: Имеется список X с названиями, этот список нужно прокатить по другому списку Y, для...

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

Поиск в списке элементами другого списка
Всем Привет. В списке с рандомным текстом нужно искать элементы в которых будут содержатся все слова из второго списка. Найденные...

Удаление элемента из списка. поиск элементов в списке
Не знаю как к этому реализовать поиск и удаление элементов.Помогите пожалуйста.Заранее спасибо )) unit dinspisoc; interface ...

Поиск содержимого в списке на основе второго списка
Всем привет! Ребят, помогите, пожалуйста Ситуация следующая: делаю почтовый клиент, необходимо по нажатию на элемент Listbox'а (Тема...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru