My understanding is that you want to generate n-grams
which is a common practice in text vectorization before doing any NLP. Here is a simple implementation:
from sklearn.feature_extraction.text import CountVectorizer
string = ["At the time of his accession, the Swedish Riksdag held more power than the monarchy but was bitterly divided between rival parties."]
# you can change the ngram_range to get any combination of words
vectorizer = CountVectorizer(encoding='utf-8', stop_words='english', ngram_range=(3,3))
X = vectorizer.fit_transform(string)
print(vectorizer.get_feature_names())
which will give you a list of ngrams with the length of 3, but the order is lost.
['accession the swedish', 'at the time', 'between rival parties', 'bitterly divided between', 'but was bitterly', 'divided between rival', 'held more power', 'his accession the', 'monarchy but was', 'more power than', 'of his accession', 'power than the', 'riksdag held more', 'swedish riksdag held', 'than the monarchy', 'the monarchy but', 'the swedish riksdag', 'the time of', 'time of his', 'was bitterly divided']