Avatar ·

Как проверить содержится ли в строке какое-то слово из списка?

📁 список, строка, python, пример

Например есть список

words = [""Авто"", ""Велосипед"", ""Самолет""]

И например строка

str = ""Быстрый автомобиль""

Нужно вернуть True, т.к. в строке есть ""авто""

Avatar ·

используя регулярные выражения, можно сделать такую проверку без цикла:

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]: False

PS если список слов проверки слишком большой 10+K bytes, то лучше, наверное, такие длинные регулярные выражения не использовать

Войдите чтобы оставить ответ

Блоги