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

Поиск символов в списках

09.01.2022, 12:32. Показов 1484. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Надо в списках найти элементы которые содержат нужные символы. Попробовал такой код. Не работает. Прошу помощи.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def name_course(route_n):
    exception = ('-', '.', '(****)')
    lst = route_n.split('\\')
    for el in lst:
        if exception in el:
            print(el)
 
 
def main():
    route_n = 'J:_ 2 Бизнес с LevUp\1 Инфобизнес и коучингарабеллум А., Крючков М. - Инфобизнес 2.0 (2014)арабеллум А., Крючков М. - Инфобизнес 2.0 (2014)онусы стандартффективная база клиентов infobusiness2.ru-Parabellum-EffektivnayaBazaKlientov-01-MedvezhyaUslugaDlyaMenedgeraPoProdagam.wav'
 
    name_course(route_n)
 
 
if __name__ == '__main__':
    main()
Добавлено через 28 минут
Попробовал такой код. Печатает не то что надо.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def name_course(route_n):
    exception = ('-', '.', '(****)')
    lst = route_n.split('\\')
    for el in lst:
        elem =el.split(' ')
        for e in elem:
            if e in exception:
              print(el)
 
 
def main():
    route_n = 'J:_ 2 Бизнес с LevUp\1 Инфобизнес и коучингарабеллум А., Крючков М. - Инфобизнес 2.0 (2014)арабеллум А., Крючков М. - Инфобизнес 2.0 (2014)онусы стандартффективная база клиентов infobusiness2.ru-Parabellum-EffektivnayaBazaKlientov-01-MedvezhyaUslugaDlyaMenedgeraPoProdagam.wav'
    name_course(route_n)
 
 
if __name__ == '__main__':
    main()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2022, 12:32
Ответы с готовыми решениями:

Поиск в списках словарей
Имеется 2 списка, состоящие из словарей. Мне нужно было сравнить по id первый и второй список найти соответствующие и если такие есть то...

Поиск совпадений в двух списках
Добрый день! Как определить только сельские населенные пункты в списке адресов import re pt = patt = for i in pt: ...

Поиск совпадений в двух списках разной длины
Добрый день. У меня есть список, состоящий из двух списков. В нём IP и MAC адреса серверов: srv = , ] Есть список MAC адресов,...

7
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
09.01.2022, 12:44
Цитата Сообщение от vlad56 Посмотреть сообщение
exception = ('-', '.', '(****)')
по-моему должен быть в двойных скобках:
Python
1
exception = (('-', '.', '(****)'))
1
 Аватар для Semen-Semenich
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
09.01.2022, 12:45
exception - кортеж, el - строка. нельзя впихнуть невпихуемое! сравнивать кортеж с строкой то же самое.
Python
1
2
3
4
>>> exception = ('-', '.', '(****)')
>>> type(exception)
<class 'tuple'>
>>>
Python
1
2
3
4
5
6
7
8
9
>>> route_n = 'J:_ 2 Бизнес с LevUp\1 Инфобизнес и коучингарабеллум А., Крючков М. - Инфобизнес 2.0 (2014)'
>>> lst = route_n.split('\\')
>>> for el in lst:
    print(type(el))
 
    
<class 'str'>
<class 'str'>
>>>
1
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
09.01.2022, 12:47
Лучший ответ Сообщение было отмечено vlad56 как решение

Решение

vlad56, так?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def name_course(route_n):
    exception = ('-', '.', '(****)')
    lst = route_n.split('\\')
    for el in lst:
        if any(simb in el for simb in exception):
            print(el)
 
 
def main():
    route_n = 'J:_ 2 Бизнес с LevUp\1 Инфобизнес и коучингарабеллум А., Крючков М. - Инфобизнес 2.0 (2014)арабеллум А., Крючков М. - Инфобизнес 2.0 (2014)онусы стандартффективная база клиентов infobusiness2.ru-Parabellum-EffektivnayaBazaKlientov-01-MedvezhyaUslugaDlyaMenedgeraPoProdagam.wav'
    name_course(route_n)
 
 
if __name__ == '__main__':
    main()
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
09.01.2022, 13:02  [ТС]
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
exception - кортеж, el - строка. нельзя впихнуть невпихуемое! сравнивать кортеж с строкой то же самое.
А как же тогда из вашего кода работало такое условие.
Python
1
if child not in exception
Полный код
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
import os
 
 
def hack_trash(path):
    children = [os.path.join(path, child) for child in os.listdir(path) if child not in exception]
    for directories in children:
        if os.path.isdir(directories):
            try:
                hack_trash(directories)
            except PermissionError:
                continue
            except Exception:
                continue
        else:  # если directories файл
            if directories.endswith(('.wav', '.mp3', '.pdf', '.avi', '.wmv', '.mp4')):
            #if directories.endswith('.mp4'):
                # если имена не нужны то строку ниже раcкомментируй а остальные удали
                # dct.setdefault(path, [])
                filename = directories.split('\\')[-1]
                dct.setdefault(path, []).append(filename)
 
 
path = 'J:'
exception = ('Prog', 'Program Files (x86)', 'Program Files', 'Windows', 'User', 'Users', 'ProgramData', '$RECYCLE.BIN')
dct = {}
hack_trash(path)
for key in dct:
    print(f'\n{key}')
    # если есть имена и нужен вывод иначе удаляем эти строки
    for val in dct.get(key):
        print(f'        {val}')
Добавлено через 5 минут
[quote="Gdez;15986819"]так?
Да заработало. А почему не могу поставить лучший ответ?

Добавлено через 6 минут
Цитата Сообщение от Gdez Посмотреть сообщение
так?
Как избежать дубликата по el. Кроме break ничего пока не придумал. А надо проверить на дубликат.
0
 Аватар для Semen-Semenich
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
09.01.2022, 13:05
Лучший ответ Сообщение было отмечено vlad56 как решение

Решение

Python
1
child not in exception
child-строка, exception - кортеж строк
если строка есть среди строк кортежа == True
то же сделал Gdez,
Python
1
if any(simb in el for simb in exception)
если символ есть в строке simb in el == True, а simb берем по одному из кортежа строк
1
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
09.01.2022, 14:44
vlad56,
Как избежать дубликата по el.
Создай пустое множество и в цикле вместо print "накапливай" в это множество el'и. По окончании цикла выводи все элементы множества...
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
09.01.2022, 14:54  [ТС]
Я добавляю в лист el. И затем проверяю на дубликат. Если нет такого в листе - добавляю.

Добавлено через 1 минуту
Код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def name_course(route_n):
    exception = ('-', '.')
    exceptionn = ('(****)')
    lst = route_n.split('\\')
    for el in lst:
        if any(simb in el for simb in exception):
            if any(simb in el for simb in exceptionn):
                if el not in lname_course:
                    lname_course.append(el)
    # return  lname_course
    print(lname_course)
 
 
def main():
    route_n = 'J:_ 2 Бизнес с LevUp\1 Инфобизнес и коучингарабеллум А., Крючков М. - Инфобизнес 2.0 (2014)арабеллум А., Крючков М. - Инфобизнес 2.0 (2014)онусы стандартффективная база клиентов infobusiness2.ru-Parabellum-EffektivnayaBazaKlientov-01-MedvezhyaUslugaDlyaMenedgeraPoProdagam.wav'
    name_course(route_n)
    print(lname_course)
 
 
lname_course = []
if __name__ == '__main__':
    main()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2022, 14:54
Помогаю со студенческими работами здесь

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

Поиск в списках
Ребята помогите:resent: Существует список &lt;ul id = &quot;listt&quot;&gt; &lt;li&gt;Main&lt;/li&gt; &lt;li&gt;Info &lt;ul&gt; &lt;li&gt;1&lt;/li&gt; ...

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

Поиск/Удаление элементов в списках
Доброго времени суток! Подскажите, как в пункте 5 (delete before) сделать возможным удаление первого элемента, в моём коде этого нельзя...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru