Найти - Пользователи
Полная версия: Поиск подстроки в строке с указанием кортежа значений
Начало » Python для новичков » Поиск подстроки в строке с указанием кортежа значений
1
clipper1995
Всем привет.

Известно, что функции поиска startswith() и ensswith() могут принимать кортеж, а не одно значение:

 print("abcdefg".startswith(("0","1")))              # False
print("abcdefg".startswith(("a","1")))              # True


а вот вопрос, есть ли функция, которая также принимает кортеж, но ищет как in ('содержит'), я смог только так написать:

 print(any((item in"abcdefg") for item in("0","1"))) # False
print(any((item in"abcdefg") for item in("cde","1")))# True

Не смог найти функцию, которая работает с кортежем как startswith() и ensswith() , но ищет как выражение in, без цикла как у меня.
JOHN_16
а в чем проблема написать такую свою? Которая делает ровно то что вам надо
py.user.next
  
>>> import re
>>> 
>>> re.search(r'0|1|cde', 'abcde') is not None
True
>>> re.search(r'0|1', 'abcde') is not None
False
>>>

clipper1995
  
print(any((item in"abcdefg") for item in("0","1"))) # False
print(any((item in"abcdefg") for item in("cde","1")))# True

  
>>> def search_strlist(text, strings):
...     return any(i in text for i in strings)
... 
>>> search_strlist('abcde', ['0', '1'])
False
>>> search_strlist('abcde', ['0', 'cde', '1'])
True
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB