Я хочу разделить список на куски одинакового размера, используя «скользящее окно», но вместо того, чтобы усекать список на концах, я хочу обернуть его так, чтобы окончательный кусок можно было распределить по началу и концусписок.
Например, для данного списка:
l = [1, 2, 3, 4, 5, 6]
Я хочу создать куски размером n = 3 следующим образом:
[1, 2, 3], [4, 5, 6]
[2, 3, 4], [5, 6, 1]
[3, 4, 5], [6, 1, 2]
Или то же самоесписок с кусками размером n = 2 должен быть разбит следующим образом:
[1, 2], [3, 4], [5, 6]
[2, 3], [4, 5], [6, 1]
Список не может быть равномерно разделен на n подсписков (например, если исходный список имеет длину 7 и n = 3 - или любое значениекроме 7 или 1).Округленное значение len(l) / n
можно использовать для определения размера разделения, как в обычном случае.
Этот пост связан, хотя и не переносится так, как мне нужно.Я попробовал, но не смог ничего полезного.Любые предложения приветствуются!