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

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

Patricia Arquette
Patricia Arquetteasal
2024-12-20 10:12:10724semak imbas

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

Ungkapan Bersyarat dalam Pemahaman Senarai untuk if/else

Dalam Python, adalah mungkin untuk menterjemahkan gelung untuk yang mengandungi pernyataan if/else ke dalam senarai pemahaman menggunakan ungkapan bersyarat. Mari kita lihat semula senario biasa:

Untuk-gelung dengan if/else:

results = []
for x in xs:
    results.append(f(x) if x is not None else '')

Di sini, kami menyasarkan untuk menambahkan hasil f(x) kepada keputusan jika x bukan Tiada; jika tidak, kami menambahkan rentetan kosong.

Percubaan untuk menukar ini kepada pemahaman senarai seperti berikut:

[f(x) for x in xs if x is not None else '']

akan mengakibatkan SyntaxError. Sintaks yang betul ialah:

[f(x) if x is not None else '' for x in xs]

Secara umum, sintaks untuk pemahaman senarai dengan if/else ialah:

[f(x) if condition else g(x) for x in sequence]

Di mana f(x) dan g(x) mewakili ungkapan untuk dinilai berdasarkan syarat.

Ungkapan bersyarat, yang digunakan dalam sintaks di atas, mempunyai tujuan yang sama seperti ternary operator ?: ditemui dalam bahasa pengaturcaraan lain. Contohnya:

value = 123
print(value, 'is', 'even' if value % 2 == 0 else 'odd')

Ini secara ringkas menyatakan bahawa jika nilai boleh dibahagi dengan 2, output hendaklah "genap"; jika tidak, ia sepatutnya "ganjil."

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Logik if/else dengan Berkesan 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