ich hab' hier 'ne Funktion, die eine Anzahl `space` gleichmäßig auf die Elemente der Liste `cols` verteilen soll, wobei ein eventueller Rest auf die letzten Elemente addiert werden soll:
Code: Alles auswählen
def assign_evenly(cols, space):
idx = itertools.cycle(range(len(cols)))
cols = list(reversed(cols))
while space:
cols[idx.next()] += 1
space -= 1
return list(reversed(cols))
Code: Alles auswählen
>>> assign_evenly([1, 1, 1, 1, 1], 10)
[3, 3, 3, 3, 3]
>>> assign_evenly([1, 1, 1, 1, 1], 11)
[3, 3, 3, 3, 4]
mutetella