Coretan kod anda mengandungi gelung sementara yang berulang ke atas senarai untuk menyemak sama ada mana-mana elemennya memenuhi keadaan khusus, khususnya jika elemen terakhir setiap subsenarai ialah 0. Untuk meningkatkan kecekapan dan kebolehbacaan, pertimbangkan untuk menggunakan fungsi terbina dalam Python all() dan mana-mana() untuk mengendalikan semakan sedemikian.
Fungsi all() mengembalikan True jika semua elemen dalam senarai menilai kepada True apabila digunakan dengan syarat tertentu. Dalam kes anda, untuk menyemak sama ada semua elemen mempunyai nilai bendera 0, anda boleh menggunakan:
all(item[2] == 0 for item in list_)
Ungkapan ini mengembalikan True jika semua sub-senarai mempunyai bendera 0 dan False sebaliknya.
Sebaliknya, fungsi any() mengembalikan True jika mana-mana elemen dalam senarai bernilai True apabila digunakan dengan syarat tertentu. Untuk menyemak sama ada sekurang-kurangnya satu subsenarai mempunyai nilai bendera 0:
any(item[2] == 0 for item in list_)
Ungkapan ini mengembalikan True jika mana-mana subsenarai mempunyai bendera 0 dan False sebaliknya.
my_list = [[1, 2, 0], [2, 3, 1], [4, 5, 0]] if all(item[2] == 0 for item in my_list): print("All flags are 0") else: print("At least one flag is not 0") if any(item[2] == 0 for item in my_list): print("At least one flag is 0") else: print("No flags are 0")
Dalam contoh ini, outputnya ialah:
At least one flag is not 0 At least one flag is 0
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak dengan Cekap sama ada Mana-mana atau Semua Elemen Senarai Memenuhi Keadaan Khusus dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!