Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Menggunakan Logik if/else dalam Pemahaman Senarai Python?

Bagaimanakah Saya Menggunakan Logik if/else dalam Pemahaman Senarai Python?

DDD
DDDasal
2024-12-24 03:07:14687semak imbas

How Do I Use if/else Logic within Python List Comprehensions?

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!

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