Given these three list comprehensions, is there a more efficient way to do this rather than three deliberate sets? I believe that for loops in this case would probably be bad form but if I were to iterate over a large number of lines in rowsaslist I feel like what I have below is not that efficient.
cachedStopWords = stopwords.words('english')
rowsaslist = [x.lower() for x in rowsaslist]
rowsaslist = [''.join(c for c in s if c not in string.punctuation) for s in rowsaslist]
rowsaslist = [' '.join([word for word in p.split() if word not in cachedStopWords]) for p in rowsaslist]
Is combining these all into one comprehension statement more efficient? I know from a readability standpoint it would probably be a mess of code.