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 будет проверять все последовательности, а не только каждую строку.