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!