Python生成器将另一个可迭代项分组为N个组


问题内容

这个问题已经在这里有了答案

迭代访问列表的最“ pythonic”方法是什么? (37个答案)

4年前关闭。

我正在寻找一个具有可迭代性i和大小的函数,n并产生长度的元组,n这些元组是来自的顺序值i

x = [1,2,3,4,5,6,7,8,9,0]
[z for z in TheFunc(x,3)]

[(1,2,3),(4,5,6),(7,8,9),(0)]

标准库中是否存在这样的功能?

如果它作为标准库的一部分存在,我似乎找不到它,而且我已经用完了所有的搜索条件。我可以自己写,但我不愿意。


问题答案:

grouper在配方文档的 itertools

def grouper(n, iterable, fillvalue=None):
  "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
  args = [iter(iterable)] * n
  return izip_longest(fillvalue=fillvalue, *args)

(但是,这是很多问题的重复。)