l = [23, 12, 33, 42, 5, 6, 7, 8, 39, 10, 11, 102, 4, 0, 5]
ind = list(range(1, int((1 + math.sqrt(1 + 8 * len(l))) / 2)))
{i: l[sum(ind[:i - 1]):sum(ind[:i - 1]) + i] for i in ind}
Разделение списка и группы