나는 짧은 문자열 목록이 길고이 항목들을 (일반적으로) 긴 텍스트 문자열로 검색하려고합니다. 내 목록은 ~ 500 짧은 문자열의 길이가 있고 나는 파이썬을 사용하여 ~ 10,000 자 정도의 원본 텍스트에서 발생하는 모든 것을 찾고 싶습니다. 여기 파이썬에서 텍스트 본문에서 여러 항목을 검색하는 가장 빠른 방법
내 문제에 대한 간단한 예입니다cleanText = "four score and seven years ago our fathers brought forth on this continent a new nation conceived in Liberty and dedicated to the proposition that all men are created equal"
searchList = ["years ago","dedicated to","civil war","brought forth"]
cleanText에서 발생 searchList의 항목을 찾기위한 나의 현재 방법은 다음과 같습니다
found = [phrase for phrase in searchList if phrase in cleanText]
이 파이썬에서 가장 빠른 방법이 있나요? 정확하게 느리지는 않지만 크기가 클수록 (10,000자인 cleanText가있는 searchList의 500 개 항목) 필자는 원하는 것보다 조금 느린 것으로 보입니다.
어떻게 든 귀하의 콘텐츠는 영구적입니까? 전체 텍스트 색인 생성 솔루션을 사용할 수 있습니까? –