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)
(但是,这是很多问题的重复。)