Разбиение массива на подмассивы - PullRequest
0 голосов
/ 23 ноября 2018

Я хочу разбить массив на подмассивы, каждый из которых содержит N элементов.Но у одного подмассива должен быть последний, предположим, что 2 элемента предыдущего подмассива являются его первыми элементами.Может кто-нибудь помочь мне решить эту проблему? введите описание изображения здесь

1 Ответ

0 голосов
/ 23 ноября 2018

Я не уверен, правильно ли я понимаю ваш вопрос, но я бы так поступил

import math

x = [0,9,8,6,1,2,3,4,5,6,8]
N = 4
tail = 2

new_x = [x[:N]]
for i in range(math.ceil((len(x)-N) / (N-tail))):
    new_x.append(new_x[-1][-tail:] + x[N + i*(N-tail): N + (i+1)*(N-tail)])
if len(new_x[-1]) < N:
    new_x[-1] += x[:N-len(new_x[-1])]

print(new_x)

Вывод:

[[0, 9, 8, 6], [8, 6, 1, 2], [1, 2, 3, 4], [3, 4, 5, 6], [5, 6, 8, 0]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...