python split range into n groups

35

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

Comments

Submit
0 Comments