Python не мой лучший язык, и поэтому я не настолько хорош в поиске наиболее эффективных решений некоторых из моих проблем. У меня очень большая строка (из файла 30 МБ), и мне нужно проверить, содержит ли этот файл меньшую подстроку (эта строка содержит всего несколько десятков символов). В настоящее время я делаю это так:
if small_string in large_string:
# logic here
Но это кажется очень неэффективным, потому что он проверит каждую возможную последовательность символов в файле. Я знаю, что будет только точное совпадение на новой строке, поэтому было бы лучше прочитать файл в виде списка и выполнить итерацию по этому списку для сопоставления?
РЕДАКТИРОВАТЬ: Чтобы устранить путаницу при «совпадении только на новой строке», вот пример:
small_string = "This is a line"
big_string = "This is a line\nThis is another line\nThis is yet another"
Если я не ошибаюсь, ключевое слово in проверит все последовательности, а не только каждую строку.