Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyelesaikan Ralat Sintaks dalam Pemahaman Senarai dengan Pernyataan Bersyarat?

Bagaimana untuk Menyelesaikan Ralat Sintaks dalam Pemahaman Senarai dengan Pernyataan Bersyarat?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-22 12:38:03561semak imbas

How to Resolve Syntax Errors in List Comprehensions with Conditional Statements?

Membetulkan Sintaks untuk Pemahaman Senarai dengan Pernyataan Bersyarat

Apabila cuba menggunakan pemahaman senarai untuk membandingkan dua iterable dan mengeluarkan item yang muncul dalam kedua-duanya, anda mungkin menghadapi ralat sintaks jika pernyataan bersyarat tidak diletakkan dengan betul.

Dalam coretan kod yang disediakan, ralat berlaku kerana syarat if (y bukan dalam b) ditulis sebelum pernyataan for. Sintaks yang betul untuk pemahaman senarai dengan syarat if ialah meletakkan pernyataan bersyarat selepas penyataan for, seperti yang dilihat di bawah:

<code class="python">[y for y in a if y not in b]</code>

Kod yang disemak ini akan berulang dengan betul pada setiap elemen y dalam lelaran a dan hanya memasukkan unsur-unsur yang tidak wujud dalam lelaran b. Hasilnya, ia akan mencetak ['r'] seperti yang dijangkakan.

Sebagai alternatif, anda juga boleh menggunakan operator ternary if-else untuk mencapai hasil yang diingini, seperti ditunjukkan di bawah:

<code class="python">[y if y not in b else other_value for y in a]</code>

Dalam kes ini, nilai_lain akan dicetak untuk mana-mana y yang wujud dalam b.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Sintaks dalam Pemahaman Senarai dengan Pernyataan Bersyarat?. 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