Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membahagikan Senarai dengan Cekap kepada Potongan Seimbang dalam Python?

Bagaimana untuk Membahagikan Senarai dengan Cekap kepada Potongan Seimbang dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-28 19:33:10409semak imbas

How to Efficiently Divide a List into Balanced Chunks in Python?

Cara Membahagikan Senarai kepada Bahagian Seimbang

Membahagikan senarai kepada ketulan bersaiz sama adalah penting dalam pelbagai senario pengaturcaraan. Python menyediakan beberapa kaedah untuk menyelesaikan tugas ini, menawarkan fleksibiliti dan kecekapan. Satu pendekatan popular menggunakan fungsi penjana.

Penjana ketul(), yang diperkenalkan dalam jawapan, membolehkan anda membahagikan senarai ke dalam ketulan saiz yang ditentukan. Ia berulang ke atas senarai dalam langkah-langkah saiz ketulan yang ditentukan, menghasilkan ketulan berturut-turut. Kod berikut menunjukkan cara menggunakan penjana chunks():

def chunks(lst, n):
    """Yield successive n-sized chunks from lst."""
    for i in range(0, len(lst), n):
        yield lst[i:i + n]

Untuk membuktikan kefungsiannya, pertimbangkan untuk membahagikan senarai integer kepada ketulan bersaiz 10:

import pprint
pprint.pprint(list(chunks(range(10, 75), 10)))

Kod ini menghasilkan output berikut, mempamerkan senarai yang dibahagikan kepada saiz sama rata ketulan:

[[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
 [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
 [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
 [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
 [50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
 [60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
 [70, 71, 72, 73, 74]]

Walaupun pendekatan penjana disyorkan untuk kejelasan dan kecekapannya, Python juga menawarkan penyelesaian pemahaman senarai ringkas untuk penggumpalan senarai:

[lst[i:i + n] for i in range(0, len(lst), n)]

Ingat bahawa menggunakan fungsi bernama seperti chunks() meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Senarai dengan Cekap kepada Potongan Seimbang 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