1def split(a, n):
2 k, m = divmod(len(a), n)
3 return (a[i * k + min(i, m):(i + 1) * k + min(i + 1, m)] for i in range(n))
4print( list(split(range(11), 3)) ) # [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
1def chunks(l, n):
2 n = max(1, n)
3 return (l[i:i + n] for i in range(0, len(l), n))