Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengulang Dengan Cekap Melalui Set Data Besar dalam Python Menggunakan Potongan?

Bagaimanakah Saya Boleh Mengulang Dengan Cekap Melalui Set Data Besar dalam Python Menggunakan Potongan?

Linda Hamilton
Lepaskan: 2024-11-28 13:25:11
asal
271 orang telah melayarinya

How Can I Efficiently Iterate Through Large Datasets in Python Using Chunks?

Iterators Mengulang dengan Cekap dalam Python Menggunakan Ketulan

Apabila bekerja dengan set data yang besar, adalah perlu untuk memproses data dalam kelompok atau ketulan yang lebih kecil. Ini membantu mengurus penggunaan memori dan meningkatkan prestasi. Satu cara untuk mencapai matlamat ini ialah menggunakan iterator Python untuk membahagikan data kepada ketulan saiz yang dikehendaki.

Resipi Kerapu

Dalam dokumentasi itertools, kerapu() resipi menyediakan cara mudah untuk mengumpulkan data ke dalam ketulan tetap panjang. Walau bagaimanapun, ia mungkin tidak mengendalikan ketulan yang tidak lengkap seperti yang dikehendaki.

Resipi Berkelompok

Tambahan yang lebih terkini pada resipi itertools ialah fungsi batched(). Ia cemerlang dalam mengumpulkan data ke dalam tupel dengan panjang tertentu. Tidak seperti kerapu(), batched() secara eksplisit mengendalikan ketulan yang tidak lengkap, mengembalikan kumpulan yang lebih pendek tanpa pengecualian atau nilai isian.

Penyelesaian Khusus Urutan

Jika anda sedang bekerja semata-mata dengan urutan, anda boleh menggunakan yang lebih mudah pendekatan:

(my_list[i:i + chunk_size] for i in range(0, len(my_list), chunk_size))
Salin selepas log masuk

Penyelesaian ini mengekalkan jenis jujukan asal dan mengendalikan bahagian terakhir dengan anggun.

Python 3.12 dan itertools.batched

Dalam Python 3.12 dan ke atas, itertools.batched boleh digunakan secara langsung. Ia menyediakan fungsi yang sama seperti resipi batched():

itertools.batched(iterable, n)  # Batch data into tuples of length n
Salin selepas log masuk

Kesimpulan

Memilih kaedah yang sesuai bergantung pada keperluan khusus anda dan versi Python yang anda gunakan menggunakan. Untuk batching umum dan fleksibel, resipi batched() atau itertools.batched Python 3.12 disyorkan. Untuk tugasan khusus jujukan, penyelesaian berasaskan jujukan menawarkan kesederhanaan dan pemeliharaan jenis.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Dengan Cekap Melalui Set Data Besar dalam Python Menggunakan Potongan?. 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