Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Fungsi `mana-mana` dan `semua` Python berfungsi dalam Pemahaman Senarai, dan Mengapa Ini Mungkin Mengembalikan `[False, False, False]`?
Memahami mana-mana dan semua Fungsi Python
Sebarang dan semua Python ialah fungsi terbina dalam yang menilai iterable dan mengembalikan nilai boolean berdasarkan kebenaran mereka elemen.
mana-mana
sebarang pulangan Benar jika sekurang-kurangnya satu elemen dalam lelaran ialah Benar (atau bukan sifar untuk nilai berangka). Ia menilai boleh lelar sehingga nilai True ditemui atau semua elemen telah habis.
semua
semua kembali True hanya jika semua elemen dalam leterable adalah Benar. Jika iterable kosong, semua akan kembali True. Ia terus menilai yang boleh diubah sehingga nilai Palsu ditemui atau semua elemen telah diperiksa.
kebenaran
Memahami kebenaran adalah penting untuk memahami bagaimana semua dan semua berfungsi. Dalam Python, nilai dianggap Benar jika ia bukan sifar, rentetan kosong atau Tiada (Null). Nilai Falsey termasuk 0, bekas kosong dan False sendiri.
Kod Anda
Dalam kod anda, anda menggunakan pemahaman senarai:
[any(x) and not all(x) for x in zip(*d['Drd2'])]
Untuk memahami ungkapan ini, mari kita patahkan bawah:
Mengapa Salah Dikembalikan
Kod anda dikembalikan [False, False, False] kerana ia menyemak sama ada sekurang-kurangnya satu nilai adalah Benar dan pada masa yang sama tidak semua nilai adalah Benar untuk setiap tupel dalam senarai tupel. Memandangkan tupel dalam d['Drd2'] mempunyai unsur yang sama, semua(x) adalah Benar untuk setiap tupel, menjadikan tidak semua(x) Salah. Akibatnya, ungkapan keseluruhan menjadi mana-mana(x) dan bukan semua(x) dinilai kepada False untuk setiap tuple.
Atas ialah kandungan terperinci Bagaimanakah Fungsi `mana-mana` dan `semua` Python berfungsi dalam Pemahaman Senarai, dan Mengapa Ini Mungkin Mengembalikan `[False, False, False]`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!