我有一个任意长度的列表,我需要将它分成相同大小的块并对其进行操作.有一些明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列表填满时,将它添加到第一个列表并清空下一轮数据的第二个列表,但这可能非常昂贵.
我想知道是否有人对任何长度的列表都有一个很好的解决方案,例如使用生成器.
我一直在寻找有用的东西,itertools但我找不到任何明显有用的东西.但是可能会错过它.
将列表切割成任意长度子列表的切片子列表部分列表的最简单且合理有效的方法是什么?
例如,如果我们的源列表是:
input = [1, 2, 3, 4, 5, 6, 7, 8, 9, ... ]
Run Code Online (Sandbox Code Playgroud)
我们的子列表长度为3然后我们寻求:
output = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], ... ]
Run Code Online (Sandbox Code Playgroud)
同样,如果我们的子列表长度为4,那么我们寻求:
output = [ [1, 2, 3, 4], [5, 6, 7, 8], ... ]
Run Code Online (Sandbox Code Playgroud)