【发布时间】:2023-03-22 04:59:01
【问题描述】:
假设我有以下列表:
>>> my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我想编写一个函数,该函数将遍历此列表中每个项目左侧和右侧的 n 元素切片:
def sliding_window_n_elements_left_and_right(lst, n):
...
函数应该是这样工作的:
>>> list(sliding_window_n_elements_left_and_right(my_list, 0))
[[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]
>>> list(sliding_window_n_elements_left_and_right(my_list, 1))
[[0, 1], [0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7], [6, 7, 8], [7, 8, 9], [8, 9, 10], [9, 10]]
>>> list(sliding_window_n_elements_left_and_right(my_list, 2))
[[0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4], [1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [3, 4, 5, 6, 7], [4, 5, 6, 7, 8], [5, 6, 7, 8, 9], [6, 7, 8, 9, 10], [7, 8, 9, 10], [8, 9, 10]]
感谢您的时间和技巧!
【问题讨论】:
-
嗯,看来您已经发布了函数规范,并要求某人为您编写函数。这似乎不是正常的问题类型。我只是想让你查看How to Ask 并自己决定。
标签: python algorithm python-3.x list slice