Как проверить содержится ли в строке какое-то слово из списка?
📁 список, строка, python, пример
Например есть список
words = [""Авто"", ""Велосипед"", ""Самолет""]И например строка
str = ""Быстрый автомобиль""Нужно вернуть True, т.к. в строке есть ""авто""
используя регулярные выражения, можно сделать такую проверку без цикла:
In [12]: import reIn [13]: chk_pat = '(?:{})'.format('|'.join(words))In [14]: chk_patOut[14]: '(?:Авто|Велосипед|Самолет)'In [15]: s = ""Быстрый автомобиль""In [16]: bool(re.search(chk_pat, s, flags=re.I))Out[16]: TrueIn [17]: bool(re.search(chk_pat, 'строка', flags=re.I))Out[17]: FalsePS если список слов проверки слишком большой 10+K bytes, то лучше, наверное, такие длинные регулярные выражения не использовать
Войдите чтобы оставить ответ