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

Patricia Arquette
Lepaskan: 2024-11-01 04:23:02
asal
951 orang telah melayarinya

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)
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!