Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2021, 17:59   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию findall и в цикле for

здравствуйте, мне нужно на примере:
Код:
print([re.findall('[a-z]', i) for i in txt_html_text])
перекрутить
то есть у меня есть массив odin из него в цикле я подсовываю в re.findall, который ищет в txt_html_text,
родилось:
Код:
print([re.findall(i, odin) for i in txt_html_text])
не взлетело, спс за помощь
Ципихович Эндрю на форуме Ответить с цитированием
Старый 06.01.2021, 20:19   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

А так?
Код:
print([re.findall(j, i) for i in txt_html_text for j in odin])
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 06.01.2021, 20:46   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

зависло
Ципихович Эндрю на форуме Ответить с цитированием
Старый 07.01.2021, 11:00   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

по-моему после findall в скобках (х, y) вторым то точно должно быть odin - (x, odin) - то есть х элемент из массива odin
я как только не пробовал-не взлетает, глаз замылился, прошу помощи
Ципихович Эндрю на форуме Ответить с цитированием
Старый 07.01.2021, 15:58   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

или ещё вариант
Код:
print([re.compile(for j in odin).findall(txt_html_text)])
вроде же это звучит элемент йот из массива один нужно искать с помощью финдалл в тесте, но опять не взлетает.., прошу помощи
Ципихович Эндрю на форуме Ответить с цитированием
Старый 07.01.2021, 20:30   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Если рассматривать последний вариант, то:
Код:
print([re.compile(j).findall(txt_html_text) for j in odin])
Просто compile тут избыточно. Что именно хранится в odin и txt_html_text? Хотя бы пример с верными типами этих переменных.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 07.01.2021, 20:43   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

в
Код:
odin = ['\\*', '\\?', '\\{', '\\}', '\\[', '\\]', '\\|', '\\\\', '#', '/', '№', '<', '>', '&', '@', '`', '~', ': ',
        ' :', ' ,', ' ;', '; ']
и это количество посчитало- 22, то есть не верно, а в txt_html_text - строка
Ципихович Эндрю на форуме Ответить с цитированием
Старый 07.01.2021, 21:50   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
print([re.findall('\\*|\\?|\\{|\\}|\\[|\\]|\\||\\\\|#|/|№|<|>|&|@|`|~|: | :| ,| ;|; ', txt_html_text)])
Не вижу смысла делать перебор из odin, а не сделать просто регулярку на все варианты.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 08.01.2021 в 17:04.
BDA вне форума Ответить с цитированием
Старый 08.01.2021, 01:15   #9
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

тем не менее Вы могли бы ответить, так как я Пайтоне недавно, не могу понять этой магии, спасибо
Ципихович Эндрю на форуме Ответить с цитированием
Старый 08.01.2021, 01:58   #10
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Код:
[print(type(x), x) for x in odin]
выдало одну из строк <class 'str'> \*
то есть я ищу в строке ищу строку
но почему сопротивляется
Код:
print(re.compile(odin[0:-1]).findall(txt_html_text))
загадка-но НЕ века
Ципихович Эндрю на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вектор стал двухмерным. Почему в первом цикле Layer(), а во втором Matrix(i,j); и зачем во втором цикле функцию back() используют? diomed16 Общие вопросы C/C++ 1 01.07.2020 18:03
Регулярные выражения findall polin11 Python 2 17.06.2017 14:28
Цикл в цикле... Davlet M Помощь студентам 6 25.01.2010 01:42
График в цикле FastDead Общие вопросы C/C++ 2 26.12.2009 01:42
условие в цикле Николай Сергеевич Общие вопросы C/C++ 8 24.12.2009 14:25