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

Mary-Kate Olsen
Lepaskan: 2024-10-22 12:38:03
asal
559 orang telah melayarinya

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

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

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!

sumber:php
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!