문자열리스트가 있고 각 문자열 안에 정지 단어를 제거하고 싶습니다. 문제는, 불용어의 길이가 문자열보다 훨씬 길고 각 문자열을 불용어 목록과 비교하는 것을 반복하고 싶지 않다는 것입니다. 파이썬에서 이러한 여러 문자열을 동시에 사용할 수있는 방법이 있습니까?동시에 여러 개의 문자열을 처리하는 파이썬
lis = ['aka', 'this is a good day', 'a pretty dog']
stopwords = [] # pretty long list of words
for phrase in lis:
phrase = phrase.split(' ') # get list of words
for word in phrase:
if stopwords.contain(word):
phrase.replace(word, '')
이것은 현재 나의 방법입니다. 그러나 이것은 내가 목록에있는 모든 문구를 거쳐야한다는 것을 의미합니다. 이 구문을 한 번만 처리 할 수있는 방법이 있습니까?
감사합니다.
"긴"기간은 얼마나됩니까? 그것이 100,000 개 이하의 요소라면, 나는 그것에 대해 걱정하지 않을 것이다. 특히'stopwords'를 집합으로 만들면'x in set' 검사가 매우 빠릅니다. – Kevin
nested list comprehension statement는 좀 더 멋지 겠지만 (더 혼란 스럽습니까?) 이걸 보면 알 수있는 가장 좋은 방법입니다. – TehTris
@Kevin 음, 100, 000이지만 길지는 않지만 여전히 원하지 않습니다. 여러 번 확인하는 것. – JudyJiang