Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyelesaikan Ralat Sintaks dalam Pemahaman Senarai dengan Pernyataan Bersyarat?
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!