Apa cara terbaik untuk membagi daftar menjadi bagian yang kira - kira sama? Misalnya, jika daftar memiliki 7 elemen dan membaginya menjadi 2 bagian, kami ingin mendapatkan 3 elemen di satu bagian, dan yang lainnya harus memiliki 4 elemen.
Saya mencari sesuatu seperti even_split(L, n)
itu pecah L
menjadi n
beberapa bagian.
def chunks(L, n):
""" Yield successive n-sized chunks from L.
"""
for i in range(0, len(L), n):
yield L[i:i+n]
Kode di atas memberikan potongan 3, bukan 3 potongan. Saya hanya bisa memindahkan (iterate atas ini dan mengambil elemen pertama dari setiap kolom, memanggil bagian satu, lalu mengambil yang kedua dan meletakkannya di bagian dua, dll), tetapi itu menghancurkan pemesanan item.
>>> chunkIt(range(8), 6)
=>[[0], [1], [2, 3], [4], [5], [6], [7]]