Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah `(1 dalam [1,0] == Benar)` menilai kepada `Salah` dalam Python?

Mengapakah `(1 dalam [1,0] == Benar)` menilai kepada `Salah` dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 04:23:02934semak imbas

Why does `(1 in [1,0] == True)` evaluate to `False` in Python?

Penilaian Salah bagi (1 dalam [1,0] == Benar)

Tidak seperti bahasa pengaturcaraan biasa, Python menilai ungkapan menggunakan perbandingan rantaian operator. Dalam ungkapan (1 dalam [1,0] == Benar), operasi tidak dihuraikan seperti yang dijangkakan.

Ungkapan sebenarnya ditafsirkan sebagai:

(1 in [1, 0]) and ([1, 0] == True)

Penilaian ini rosak ke dalam:

  • (1 dalam [1, 0]): Ini dinilai kepada Benar kerana 1 terdapat dalam senarai [1, 0].
  • ([1, 0] == Benar): Ini dinilai kepada Salah kerana [1, 0] ialah senarai, bukan nilai boolean.

Ungkapan keseluruhan, oleh itu , menilai kepada:

True and False = False

Hasil yang tidak dijangka ini menyerlahkan perbezaan dalam penilaian Python terhadap ungkapan berbanding bahasa lain. Untuk mengelakkan kekeliruan, gunakan kurungan untuk menentukan susunan penilaian yang diingini:

(1 in [1,0]) == True # True

Atas ialah kandungan terperinci Mengapakah `(1 dalam [1,0] == Benar)` menilai kepada `Salah` dalam Python?. 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
Artikel sebelumnya:Pretty-Printing ialah KompilasiArtikel seterusnya:Pretty-Printing ialah Kompilasi