Bir listeyi kabaca eşit parçalara bölmenin en iyi yolu nedir ? Örneğin, listede 7 öğe varsa ve 2 parçaya bölünmüşse, bir parçada 3 öğe almak istiyoruz, diğerinde 4 öğe olmalıdır.
Ben böyle bir şey arıyorum even_split(L, n)
o sonları L
içine n
parçaları.
def chunks(L, n):
""" Yield successive n-sized chunks from L.
"""
for i in range(0, len(L), n):
yield L[i:i+n]
Yukarıdaki kod 3 parça yerine 3 parça verir. Basitçe devredebilirim (bunun üzerinde yineleme yapabilir ve her sütunun ilk öğesini alabilir, o bölüm birini çağırır, sonra ikincisini alır ve ikinci bölüme koyarım, vb), ancak bu öğelerin sırasını yok eder.
>>> chunkIt(range(8), 6)
=>[[0], [1], [2, 3], [4], [5], [6], [7]]