Memisahkan Senarai kepada Potongan Saiz Sama
Membahagikan senarai yang luas kepada segmen yang sama saiz boleh menjadi keperluan biasa dalam pengaturcaraan Python. Kaedah berikut menunjukkan cara untuk mencapainya.
Penyelesaian berasaskan penjana:
Pilihan yang mudah ialah menggunakan fungsi penjana yang menghasilkan ketulan saiz yang dikehendaki. Berikut ialah pelaksanaannya:
def chunks(lst, n): """Yield successive n-sized chunks from lst.""" for i in range(0, len(lst), n): yield lst[i:i + n]
Contoh:
pprint.pprint(list(chunks(range(10, 75), 10)))
Output:
[[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]]
Pendekatan Kefahaman Senarai:
Walaupun kurang boleh dibaca daripada penyelesaian berasaskan fungsi, satu pelapis menggunakan pemahaman senarai juga mungkin:
[lst[i:i + n] for i in range(0, len(lst), n)]
Untuk keserasian Python 2, gantikan julat dengan xrange.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Senarai Python kepada Potongan Bersaiz Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!