Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah Sintaks yang Betul untuk Pernyataan Bersyarat dalam Pemahaman Senarai dalam Python?

Apakah Sintaks yang Betul untuk Pernyataan Bersyarat dalam Pemahaman Senarai dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-10-22 13:14:02408semak imbas

What is the Correct Syntax for Conditional Statements in List Comprehensions in Python?

Senaraikan Pemahaman dengan Pernyataan Bersyarat

Dalam Python, pemahaman senarai menawarkan cara yang padat untuk menjana senarai baharu. Walau bagaimanapun, apabila menggunakan pernyataan bersyarat dalam pemahaman ini, adalah penting untuk mematuhi sintaks yang betul untuk mengelakkan ralat.

Masalah: Membandingkan Iterables

Andaikan kita mempunyai dua iterable, a dan b, dan kami ingin mencipta senarai baharu yang mengandungi elemen yang muncul dalam kedua-dua iterables. Kami mencuba kod berikut:

<code class="python">a = ('q', 'r')
b = ('q')
print([ y if y not in b for y in a])</code>

Ralat Sintaks

Walau bagaimanapun, kod ini menghasilkan ralat sintaks yang tidak sah, menunjukkan isu dengan fungsi lambda yang digunakan dalam pemahaman .

Penyelesaian: Menyusun Semula Pemahaman

Sintaks yang betul untuk menggunakan pernyataan bersyarat dalam pemahaman senarai ialah meletakkan ungkapan if selepas klausa for. Dalam kes kami, kod yang diperbetulkan ialah:

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

Pemahaman ini akan berulang pada a dan menambah elemen pada senarai baharu hanya jika ia tidak terdapat dalam b. Hasilnya harus menghasilkan ['r'], seperti yang dijangkakan.

Sintaksis Alternatif

Sebagai alternatif, kita boleh menggunakan operator ternary if-else untuk mengendalikan logik bersyarat dalam pemahaman senarai:

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

Kod ini akan mencipta senarai baharu di mana unsur yang tiada dalam b ditambah, manakala unsur lain menerima Tiada nilai.

Atas ialah kandungan terperinci Apakah Sintaks yang Betul untuk Pernyataan Bersyarat dalam Pemahaman Senarai 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