#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)