Есть ли функция в Python 3, которая позволила бы мне найти подстроку в любом порядке в более крупной строке? Например:Поиск строки в перепутанной строке
ant in Gnat returns True
flat in plat returns False
cooler in polomacear returns True
Есть ли функция в Python 3, которая позволила бы мне найти подстроку в любом порядке в более крупной строке? Например:Поиск строки в перепутанной строке
ant in Gnat returns True
flat in plat returns False
cooler in polomacear returns True
Вот что я взломал, чтобы это сделать. Может быть, что-то проще, но проходит тесты!
def check(sub, full):
full_list = list(full)
for char in sub:
if char in full_list:
full_list.remove(char)
else:
return False
return True
Это прекрасно работает! –
Для строк, достаточно долго для поведения O (n * n), collection.Counter может использоваться для обеих строк. Затем посмотрите, является ли sub multiset субмастером полного мультимножества. –
Возможно, вы должны что-то придумать. – usr2564301