【发布时间】:2019-02-19 22:02:53
【问题描述】:
我希望使用“滑动窗口”将列表拆分为相同大小的块,但我不想在末尾截断列表,而是想环绕,以便最终块可以分布在开头和结尾列表。
例如,给定一个列表:
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 可用于确定拆分大小。
This post 是相关的,尽管它没有按我的需要环绕。我尝试过但没有管理任何有用的东西。任何建议都将受到欢迎!
【问题讨论】:
-
你可能不得不为此编写自己的小算法