我想用固定數字對相鄰列表項進行分組。如在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