Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengulangi Senarai Python dengan Cekap dalam Chunks?

Bagaimanakah Saya Boleh Mengulangi Senarai Python dengan Cekap dalam Chunks?

Susan Sarandon
Lepaskan: 2024-12-19 19:36:10
asal
242 orang telah melayarinya

How Can I Efficiently Iterate Over a Python List in Chunks?

Menyalurkan Senarai dalam Potongan: Penyelesaian Pythonic

Dalam artikel ini, kami meneroka cara untuk mengulangi senarai Python dalam ketulan, di mana setiap ketulan terdiri daripada bilangan elemen tertentu. Situasi yang diberikan melibatkan bekerja dengan empat integer pada satu masa.

Pendekatan Konvensional

Segmen kod yang disediakan menggambarkan pendekatan gaya C untuk menggunting senarai:

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]
Salin selepas log masuk

Walaupun kaedah ini berfungsi, ia mungkin tidak sejajar dengan idiomatik Python prinsip.

Penyelesaian Python

1. Menggunakan Fungsi chunker

Sejak Python 3.12, Python telah memperkenalkan fungsi chunker, yang menyediakan cara ringkas dan cekap untuk memotong sebarang jujukan:

def chunker(seq, size):
    return (seq[pos:pos + size] for pos in range(0, len(seq), size))
Salin selepas log masuk

Fungsi ini mencipta penjana yang menghasilkan ketulan saiz yang ditentukan daripada urutan yang diberikan. Kod berikut mempamerkan penggunaan:

for group in chunker(text, 7):
    print(repr(group),)
Salin selepas log masuk

2. Menggunakan itertools.islice

Untuk versi Python sebelum 3.12, itertools.islice boleh digunakan untuk chunking:

from itertools import islice

def grouper(seq, size):
    it = iter(seq)
    while True:
        chunk = list(islice(it, size))
        if not chunk:
            return
        yield chunk
Salin selepas log masuk

Fungsi ini juga mencipta penjana, yang menghasilkan senarai elemen daripada jujukan.

Kesimpulan

Fungsi chunker menyediakan penyelesaian asli dan cekap untuk senarai chunking dalam Python 3.12 dan lebih baru. Untuk versi terdahulu, fungsi kerapu menawarkan alternatif yang sesuai. Kaedah ini membolehkan kod yang lebih ringkas dan idiomatik apabila bekerja dengan senarai besar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulangi Senarai Python dengan Cekap dalam Chunks?. 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