Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Kami Boleh Membahagikan Senarai Dengan Cekap Berdasarkan Penapis Bersyarat?

Bagaimanakah Kami Boleh Membahagikan Senarai Dengan Cekap Berdasarkan Penapis Bersyarat?

Patricia Arquette
Lepaskan: 2024-12-03 15:58:15
asal
585 orang telah melayarinya

How Can We Efficiently Partition a List Based on a Conditional Filter?

Pembahagian Senarai yang Cekap Berdasarkan Penapisan Bersyarat

Pertimbangkan keperluan untuk membahagikan senarai kepada dua subsenarai berdasarkan syarat. Pendekatan naif akan memerlukan lelaran ke atas senarai dua kali, sekali untuk setiap subsenarai. Mencari alternatif yang cekap dan elegan, kami meneroka beberapa pilihan.

Satu pendekatan melibatkan lelaran secara manual ke atas senarai dan menambahkan setiap elemen secara dinamik pada subsenarai yang sesuai berdasarkan semakan bersyarat. Ini ditunjukkan dalam kod di bawah:

good, bad = [], []
for x in mylist:
    (bad, good)[x in goodvals].append(x)
Salin selepas log masuk

Dalam kod ini, ungkapan (buruk, baik) dinilai sama ada buruk atau baik bergantung pada nilai boolean x dalam goodval. Kaedah append() subsenarai yang dipilih kemudiannya digunakan untuk menambah elemen semasa.

Dengan menghapuskan keperluan untuk berbilang lelaran dan menggunakan pemahaman senarai ringkas, pendekatan ini menawarkan kedua-dua prestasi dan faedah kebolehbacaan kod sepanjang dua- pelaksanaan lelaran.

Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Membahagikan Senarai Dengan Cekap Berdasarkan Penapis Bersyarat?. 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