Итак, я пытаюсь разбить список на 4 части, но с оговоркой. Предостережение состоит в том, что я хочу, чтобы список взял последние 2 элемента предыдущего чанка и соединил его со следующими 2 элементами, чтобы сделать следующий вывод:
Например:
Input: text=['one','two','three','four','five','six','seven','eight']
Output: ['one two three four','three four five six', 'five six seven eight']
Прямо сейчас у меня есть это:
from itertools import islice
text=['one','two','three','four','five','six','seven','eight']
def window(seq, n=2):
"Returns a sliding window (of width n) over data from the iterable"
" s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... "
it = iter(seq)
result = tuple(islice(it, n))
if len(result) == n:
yield result
for elem in it:
result = result[1:] + (elem,)
yield result
processed = [' '.join(i) for i in window(text,4)]
print(processed)
Output:
['one two three four', 'two three four five', 'three four five six', 'four five six seven', 'five six seven eight']
Опять же, мой идеальный результат будет:
['one two three four','three four five six', 'five six seven eight']