Мне было интересно выполнить определенную последовательность строк. Я пробовал использовать permutations
и combinations
из itertools, но не понял, как это сделать. Такие последовательности всегда занимают следующее слово. Это сложно объяснить, но легче понять, посмотрев на пример вывода
ОЖИДАНИЕ ВЫХОДА
Original string:
“people are good good people are great great people are awesome people are good good people are awesome”
Sequence of Words to Check:
1 word sequence:
“people”, “are”, “good”, “great”, “awesome”.
2 word sequence:
“people are”, “are good, “good good”, “good people”, “are great”, “great great”, “great people” ...
3 word sequence:
“people are good”, “are good good”, “good good people”, “good people are” ...
4 word sequence ... until 20 word sequence.
Код, который я сделал, прост и получается правильно первое слово secuence, но не остальное.
def sequences(lst):
for count_seq in range(1, 21):
if count_seq == 1:
for i in dict.fromkeys(permutations(iterable=lst, r=count_seq)):
x = ' '.join(list(i))
print(x)
else:
for i in dict.fromkeys(permutations(iterable=lst, r=count_seq)):
x = ' '.join(list(i))
print(x)
lst = string.split(' ')
sequences(lst=lst)