n = 1
for x in data:
words = x.split()
for y in range(len(words)-n+1):
print(words[y:y+n])
n никогда не изменяется, поэтому всегда 1
for x in data:
words = x.split()
for y in range(len(words)-1+1):
print(words[y:y+1])
, так что упростите
for x in data:
words = x.split()
for y in range(len(words)):
print(words[y])
, что в основном
for x in data:
for word in x.split():
print(word)
, что приводит нас к
data=' '.join(word for x in data for word in x.split())