Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Fungsi `any()` dan `all()` Python Bertindak Apabila Membandingkan Tuples?

Bagaimanakah Fungsi `any()` dan `all()` Python Bertindak Apabila Membandingkan Tuples?

Barbara Streisand
Lepaskan: 2024-12-09 20:04:15
asal
591 orang telah melayarinya

How Do Python's `any()` and `all()` Functions Behave When Comparing Tuples?

Cara mana-mana dan semua Fungsi Python Berfungsi

Apabila membandingkan tupel, kedua-dua fungsi terbina dalam any() dan all() dimasukkan ke dalam bermain. Begini cara mereka berbeza:

mana-mana()

mana-mana() menilai kepada Benar jika sekurang-kurangnya satu elemen dalam lelaran ialah Truthy (iaitu, bukan Palsu, 0, '', dsb.).

semua()

semua(), sebaliknya, mengembalikan True hanya apabila setiap elemen dalam lelaran adalah Truthy.

Memahami Kes Penggunaan

Dalam coretan kod disediakan:

print [any(x) and not all(x) for x in zip(*d['Drd2'])]
Salin selepas log masuk

Setiap tupel dalam zip(*d['Drd2']) dinilai dalam konteks mana-mana(x) dan bukan semua(x). Walau bagaimanapun, output [Salah, Salah, Salah] yang tidak dijangka menimbulkan persoalan.

Tafsiran Ralat

Mengikut jadual kebenaran untuk mana-mana dan semua:

any(x) all(x) any(x) and not all(x)
True False True
False True False
True True False
False False False

Dalam kes ini, semua tupel terdiri daripada nombor yang sama (iaitu, nilai Benar), jadi sebarang(x) akan sentiasa Benar, dan semua(x) juga akan Benar. Akibatnya, mana-mana(x) dan bukan semua(x) hendaklah sentiasa menilai kepada Palsu, yang tidak ditunjukkan dalam output.

Punca Ralat

Ralat terletak dalam jangkaan yang salah bahawa (x[0] != x[1]) akan menjadi ungkapan Benar. Walau bagaimanapun, apabila nombor dalam tupel adalah sama (cth., (1, 1)), (x[0] != x[1]) menilai kepada Salah.

Logik Betul

Untuk menentukan dengan tepat sama ada sebarang nilai dalam tuple adalah berbeza, anda boleh menggunakan yang berikut logik:

print [x[0] != x[1] for x in zip(*d['Drd2'])]
Salin selepas log masuk

Ungkapan ini membandingkan dengan betul elemen yang sepadan bagi setiap tuple untuk mengenal pasti sebarang perbezaan, seperti yang dimaksudkan.

Atas ialah kandungan terperinci Bagaimanakah Fungsi `any()` dan `all()` Python Bertindak Apabila Membandingkan Tuples?. 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