Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengulang Melalui Iterator dalam Ketulan Menggunakan Python?

Bagaimanakah Saya Boleh Mengulang Melalui Iterator dalam Ketulan Menggunakan Python?

Susan Sarandon
Lepaskan: 2024-12-03 13:38:11
asal
1018 orang telah melayarinya

How Can I Iterate Through an Iterator in Chunks Using Python?

Menyalakan Iterator oleh Ketulan dengan Python

Menyalakan ke atas lelaran dengan ketulan saiz tertentu ialah tugas biasa dalam Python. Untuk mencapai matlamat ini, pertimbangkan untuk menggunakan pendekatan berikut:

Menggunakan Fungsi itertools.grouper():

Fungsi itertools.grouper() menyediakan kaedah serba boleh untuk mengumpulkan yang boleh diubah menjadi kepingan. Walau bagaimanapun, ia memerlukan pengendalian tambahan untuk menampung bahagian akhir yang tidak lengkap, yang boleh dicapai dengan parameter yang tidak lengkap.

from itertools import grouper

it = iter([1, 2, 3, 4, 5, 6, 7])
chunk_size = 3
chunks = list(grouper(it, chunk_size, incomplete='ignore'))
print(chunks)  # [[1, 2, 3], [4, 5, 6], [7]]
Salin selepas log masuk

Menggunakan Fungsi itertools.batched() (Python 3.12 ):

Memperkenalkan dalam Python 3.12, the Fungsi itertools.batched() secara eksplisit mengendalikan chunking dan mengekalkan jenis jujukan asal.

from itertools import batched

it = [1, 2, 3, 4, 5, 6, 7]
chunk_size = 3
chunks = list(batched(it, chunk_size))
print(chunks)  # [[1, 2, 3], [4, 5, 6], [7]]
Salin selepas log masuk

Penyelesaian Alternatif untuk Leteran Jujukan:

Untuk jujukan, kurang umum tetapi penyelesaian yang mudah ialah menggunakan penghirisan senarai dengan saiz langkah yang sama dengan bongkah saiz.

it = [1, 2, 3, 4, 5, 6, 7]
chunk_size = 3
chunks = [it[i:i + chunk_size] for i in range(0, len(it), chunk_size)]
print(chunks)  # [[1, 2, 3], [4, 5, 6], [7]]
Salin selepas log masuk

Kaedah ini menyediakan cara yang cekap untuk mengulang ke atas satu iterator mengikut ketulan, membolehkan pengendalian fleksibel bagi ketulan akhir yang tidak lengkap dan pengekalan jenis urutan asal apabila perlu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Melalui Iterator dalam Ketulan Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan