Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membahagikan Senarai kepada Bahagian Kira-kira Sama dalam Python?

Bagaimana untuk Membahagikan Senarai kepada Bahagian Kira-kira Sama dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-14 15:03:02843semak imbas

How to Divide a List into Approximately Equal Parts in Python?

Membahagikan Senarai kepada Bahagian yang Lebih kurang Sama Panjang

Dalam Python, ketulan fungsi terbina dalam (disediakan dalam coretan kod) boleh bahagikan senarai kepada ketulan saiz yang ditentukan. Walau bagaimanapun, jika senarai tidak boleh dibahagikan dengan saiz bongkah yang diingini, ia akan menghasilkan ketulan bersaiz tidak sekata.

Untuk mencipta bahagian yang lebih kurang sama, anda boleh menggunakan penjana senarai:

def split(a, n):
    k, m = divmod(len(a), n)
    return (a[i*k+min(i, m):(i+1)*k+min(i+1, m)] for i in range(n))

Fungsi ini menentukan saiz ketulan (k) dan baki (m) apabila membahagikan panjang senarai dengan bilangan bahagian. Ia kemudiannya menghasilkan ketulan daripada senarai, bermula dari indeks i*k dan berakhir pada indeks (i 1)*k. Ini memastikan bahawa m ketulan pertama termasuk elemen tambahan daripada baki, menghasilkan bahagian yang lebih kurang sama saiznya.

Contoh:

>>> list(split(range(11), 3))
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]

Dalam contoh ini, julat senarai(11) dibahagikan kepada tiga bahagian, menghasilkan ketulan saiz 4, 4 dan 3.

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Senarai kepada Bahagian Kira-kira Sama dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn