Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Cekap Mengulangi Senarai dalam Chunks dalam Python?

Bagaimana untuk Cekap Mengulangi Senarai dalam Chunks dalam Python?

Patricia Arquette
Lepaskan: 2024-12-23 09:06:24
asal
972 orang telah melayarinya

How to Efficiently Iterate Over a List in Chunks in Python?

Cara Mengulangi Senarai dalam Ketulan

Keperluan untuk mengulang senarai dalam ketulan timbul dalam pelbagai senario pengaturcaraan, seperti memproses set data yang besar. Artikel ini menyelidiki cara yang paling berkesan dan Pythonic untuk mencapai tugas ini.

Secara tradisinya, pendekatan gaya-C menggunakan gelung julat dengan manipulasi indeks eksplisit telah digunakan:

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

Sementara ini kaedah mungkin mudah, ia tidak mempunyai keanggunan Pythonic.

Alternatif yang lebih Pythonic ialah dicadangkan:

while ints:
    foo += ints[0] * ints[1] + ints[2] * ints[3]
    ints[0:4] = []
Salin selepas log masuk

Pendekatan ini memanfaatkan penghirisan senarai Python untuk mengalih keluar elemen yang diproses, memberikan penyelesaian yang lebih bersih.

Pengenalan Python 3.12 tentang chunker()

Dengan keluaran Python 3.12, yang sangat dinanti-nantikan Fungsi chunker() telah diperkenalkan:

from itertools import islice

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

Fungsi ini secara elegan melelang ke atas sebarang jenis jujukan, membahagikannya kepada ketulan saiz yang dikehendaki. Contoh berikut menggambarkan fleksibilitinya:

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'

print('|'.join(chunker(text, 10)))
# I am a ver|y, very he|lpful text

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

Fungsi chunker() meningkatkan ekosistem manipulasi senarai Python yang sudah kaya dan seterusnya menunjukkan kemesraan penggunanya.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Mengulangi Senarai dalam Chunks dalam 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