Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membahagikan Senarai kepada Bahagian yang Hampir Sama dalam Python?

Bagaimana untuk Membahagikan Senarai kepada Bahagian yang Hampir Sama dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-11-16 10:23:021023semak imbas

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

Membahagikan Senarai kepada Bahagian Yang Hampir Sama

Membahagikan senarai kepada bahagian yang sama ialah tugas biasa dalam pengaturcaraan. Kaedah ketulan() terbina dalam dalam Python menawarkan cara untuk membahagikan senarai kepada ketulan bersaiz sama, tetapi bagaimana jika anda mahu membahagikan senarai itu kepada bahagian yang lebih kurang sama?

Satu pendekatan untuk mencapainya ialah dengan gunakan 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))

Begini cara ia berfungsi:

  • k ialah nombor daripada item dalam setiap bahagian, dan m ialah baki daripada membahagikan panjang senarai dengan n.
  • Gelung for berulang ke atas bilangan bahagian n yang dikehendaki.
  • Untuk setiap bahagian, ia mengira indeks permulaan dan penamat berdasarkan k, m dan lelaran semasa i.
  • Kepingan a[start:end] mengekstrak elemen untuk arus bahagian.

Contoh:

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

Kod ini membahagikan senarai panjang 11 kepada 3 bahagian, menghasilkan bahagian dengan 4, 4 dan 3 elemen, masing-masing.

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Senarai kepada Bahagian yang Hampir 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