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
Patricia Arquetteasal
2024-12-03 15:58:15611semak imbas

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)

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!

Kenyataan:
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