Я пытаюсь извлечь массив следующих K последовательных элементов из большего массива nK + d элементов. Где 0 и n> = 0 . Другими словами, при первой попытке я получу массив [: K], затем в следующий раз - массив [K: 2K] и так далее. В последней итерации все оставшиеся элементы Array [nK: nK + d], даже если количество оставшихся элементов меньше K. Во всех этих предыдущих операциях предпочтительно, чтобы исходный массив оставался нетронутым.
Например:
>>> arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> k_items = get_next_k(arr, k = 3)
>>> print(k_items)
[1, 2, 3]
>>> k_items = get_next_k(arr, k = 3)
>>> print(k_items)
[4, 5, 6]
>>> k_items = get_next_k(arr, k = 3)
>>> print(k_items)
[7, 8, 9]
>>> k_items = get_next_k(arr, k = 3)
>>> print(k_items)
[10]
>>> print(arr)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Есть ли простой и эффективный способ добиться этого?