Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Menggunakan Logik if/else dalam Pemahaman Senarai Python?
Senaraikan Pemahaman dengan if/else: Sintaks dan Penggunaan
Apabila bekerja dengan pemahaman senarai dalam Python, ia ditemui untuk menggabungkan logik if/else untuk mengendalikan operasi bersyarat. Artikel ini menangani sintaks yang betul untuk senario sedemikian.
Tugas biasa ialah mencipta senarai berdasarkan jujukan sumber, dengan gelung untuk berikut mengandungi binaan if/else:
results = [] for x in xs: results.append(f(x) if x is not None else '')
Kod ini menambahkan '' pada senarai hasil jika x ialah Tiada, dan sebaliknya mengira f(x). Hasil yang diinginkan juga boleh dicapai menggunakan pemahaman senarai, tetapi dengan pelarasan yang diperlukan dalam sintaks:
results = [f(x) if x is not None else '' for x in xs]
Perbezaan utama terletak pada susunan klausa if dan else dalam pemahaman senarai. Sintaks yang betul memerlukan meletakkan klausa if sebelum bahagian for, diikuti dengan klausa else.
Secara umum, sintaks untuk pemahaman senarai dengan keadaan if/else ialah:
[f(x) if condition else g(x) for x in sequence]
Untuk pemahaman senarai yang melibatkan hanya jika syarat untuk menapis elemen daripada jujukan sumber, sintaks ialah:
[f(x) for x in sequence if condition]
Perhatikan bahawa ungkapan bersyarat, yang digunakan dalam sintaks if/else bagi pemahaman senarai, adalah berbeza daripada binaan if yang digunakan untuk penapisan. Ungkapan bersyarat membenarkan untuk memilih antara dua ungkapan berdasarkan syarat, serupa dengan operator ternary ?: ditemui dalam bahasa lain. Contohnya:
value = 123 print(value, 'is', 'even' if value % 2 == 0 else 'odd')
Contoh ini mencetak sama ada nilai itu genap atau ganjil menggunakan ungkapan bersyarat.
Atas ialah kandungan terperinci Bagaimanakah Saya Menggunakan Logik if/else dalam Pemahaman Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!