我想用固定数字对相邻列表项进行分组。如在Python中高效地分组相邻列表项
a = [1, 2, 3, 4, 5, 6]
的groupby(a, 2)
结果是[(1, 2), (3, 4), (5, 6)]
,
的groupby(a, 3)
结果是[(1, 2, 3), (4, 5, 6)]
这里是我的解决方案
def groupby(a, l):
ret = []
for idx in range(len(a)/l):
ret.append(tuple(a[idx*l:(idx+1)*l:]))
return ret
有没有更有效的方法来实现它?
是否保证输入列表的长度可以被分组号码整除? I.E.如果列表的长度是7,应该发生什么? – SethMMorton
@SethMMorton,把所有遗体留作最后一组 – zangw