Da ich so etwas schon am zweiten Tag in Folge brauche: ich wollte listen in gleich lange Teile zerlegen:
Code: Alles auswählen
def chunkize_lc(l, size):
iterator = iter(l)
lazy_values = [[iterator.next] * size for i in range(len(l) / size)]
return [[inner() for inner in outer] for outer in lazy_values]
def chunkize_for(l, size):
result = list()
current_chunk = list()
for index, item in enumerate(l):
current_chunk.append(item)
if index % size == size - 1:
result.append(current_chunk)
current_chunk = list()
if current_chunk:
result.append(current_chunk)
return result
l = range(6)
print chunkize_lc(l, 2)
print chunkize_for(l, 2)
print chunkize_lc(l, 4)
print chunkize_for(l, 4)