Проверьте, находится ли часть строки в части строки

#python #list #substring #any

#питон #Список #подстрока #Любой

Вопрос:

 string_to_check = "Amazon.com is a company" listtocheck = ["Amazon.com", "Apple"]  res = any((x:=rea.lower()) in string_to_check.lower() for rea in listtocheck) if(res == True):  print(x)  

Этот код печатается amazon.com . Как я могу также получить amazon.com в качестве возврата, если listtocheck он точно не содержит "amazon.com" ? Допустим, он содержит "amazon" . Теперь нет вывода, потому что «.com» отсутствует.

Могу ли я как-то сказать, что, например, 4 символа listtocheck элемента (amaz,. com, mazo) должны совпадать со строкой для проверки? Так что это похоже на то, чтобы вернуть мне деньги, если ..% listtocheck товара соответствует stringtocheck .

Комментарии:

1. «амазонка» все равно должна соответствовать. in проверяет, существует ли подстрока, а не «слово».

Ответ №1:

Попробуйте это: нарезать rea.lower())[:4]

 string_to_check = "Amazon.com is a company" listtocheck = ["Amazon", "Apple"]  res = any((x:=rea.lower())[:4] in string_to_check.lower() for rea in  listtocheck) if(res == True):  print(x)