这可能更有效(更快)
def batch(iterable, n=1): l = len(iterable) for ndx in range(0, l, n): yield iterable[ndx:min(ndx + n, l)]for x in batch(range(0, 10), 3): print x
使用清单范例
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # list of datafor x in batch(data, 3): print(x)# Output[0, 1, 2][3, 4, 5][6, 7, 8][9, 10]
它避免建立新列表。



