Menyalakan Senarai dalam Ketulan: Perspektif Pythonic
Dalam Python, tugas untuk mengulang senarai dalam ketulan boleh dicapai dalam pelbagai cara. Satu pendekatan biasa melibatkan penggunaan gelung untuk mengakses elemen secara berperingkat pada selang waktu tertentu:
for i in range(0, len(ints), 4): # dummy op for example code foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]
Kaedah ini, walaupun berfungsi, boleh memperkenalkan kerumitan yang tidak perlu dan "C-think" ke dalam kod Python anda. Pendekatan yang lebih Pythonic melibatkan memanfaatkan fungsi julat() terbina dalam dan menghiris:
def chunker(seq, size): return (seq[pos:pos + size] for pos in range(0, len(seq), size))
Fungsi chunker mencipta ungkapan penjana yang melelaran melalui jujukan, menghasilkan ketulan saiz yang dikehendaki bermula dari pelbagai kedudukan. Ia sangat cekap dan menghapuskan keperluan untuk gelung eksplisit dan manipulasi indeks.
Sebagai contoh, pertimbangkan kod berikut:
text = "I am a very, very helpful text" for group in chunker(text, 7): print(repr(group),) # 'I am a ' 'very, v' 'ery hel' 'pful te' 'xt'
Di sini, fungsi chunker membahagikan teks kepada kumpulan tujuh aksara, menghasilkan tuple urutan aksara.
Begitu juga, anda boleh menggunakan fungsi chunker untuk memproses jujukan apa-apa jenis, seperti senarai haiwan:
animals = ['cat', 'dog', 'rabbit', 'duck', 'bird', 'cow', 'gnu', 'fish'] for group in chunker(animals, 3): print(group) # ['cat', 'dog', 'rabbit'] # ['duck', 'bird', 'cow'] # ['gnu', 'fish']
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulangi Senarai dalam Ketulan Menggunakan Python dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!