Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Menggunakan Logik if-else dalam Pemahaman Senarai Python?

Bagaimana Menggunakan Logik if-else dalam Pemahaman Senarai Python?

Barbara Streisand
Barbara Streisandasal
2024-11-06 05:43:02862semak imbas

How to Use if-else Logic in Python List Comprehension?

Menggunakan Pernyataan if-else dalam Pemahaman Senarai

Dalam Python, pemahaman senarai menyediakan cara ringkas untuk mengubah suai dan menapis elemen senarai. Satu cabaran biasa yang dihadapi ialah melaksanakan logik if-else dalam konstruk ini. Artikel ini meneroka cara untuk mengatasi halangan ini.

Ralat Sintaks

Apabila cuba menggunakan sintaks if-else dalam pemahaman senarai seperti berikut:

[x+1 for x in l if x >= 45 else x+5]

anda mungkin menghadapi ralat sintaks. Ini kerana sintaks Python standard untuk pernyataan if-else memerlukan penggunaan kata kunci if and else diikuti oleh blok kod yang sepadan.

Pendekatan yang Betul

Kepada mencapai tingkah laku seperti if-else dalam pemahaman senarai, anda boleh menggunakan sintaks ungkapan bersyarat:

[expression_if_true if condition else expression_if_false for x in l]

Contoh:

Mari kita pertimbangkan contoh yang disediakan dalam soalan, di mana kita ingin menambah 1 kepada nombor yang lebih besar daripada atau sama dengan 45 dan 5 kepada nombor kurang daripada 45 dalam senarai:

l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
result = [x+1 if x >= 45 else x+5 for x in l]

print(result)

Output:
[27, 18, 46, 51, 99, 70, 48, 49, 6]

Dalam contoh ini, ungkapan bersyarat x 1 jika x >= 45 else x 5 menentukan bahawa nilai diubah suai hendaklah x 1 jika x lebih besar daripada atau sama dengan 45; jika tidak, ia sepatutnya x 5.

Atas ialah kandungan terperinci Bagaimana 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