Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah anda menggunakan pernyataan if-else dalam pemahaman senarai Python?

Bagaimanakah anda menggunakan pernyataan if-else dalam pemahaman senarai Python?

Susan Sarandon
Lepaskan: 2024-11-05 09:35:02
asal
572 orang telah melayarinya

How do you use if-else statements within Python list comprehensions?

If-Else in List Comprehension

Dalam Python, pemahaman senarai menyediakan cara yang padat untuk mencipta senarai baharu dengan mengulangi senarai sedia ada dan menggunakan transformasi pada setiap elemen . Walau bagaimanapun, menulis pernyataan if-else dalam pemahaman senarai boleh menjadi rumit.

Pertimbangkan contoh berikut:

<code class="python">l = [22, 13, 45, 50, 98, 69, 43, 44, 1]</code>
Salin selepas log masuk

Andaikan anda ingin membuat senarai baharu dengan menambah 1 kepada nombor yang lebih besar daripada atau sama dengan 45, dan 5 kepada nombor kurang daripada 45.

Percubaan untuk menulis ini sebagai pemahaman senarai dengan pernyataan if-else seperti ini:

<code class="python">[x+1 for x in l if x >= 45 else x+5]</code>
Salin selepas log masuk

akan menghasilkan ralat sintaks.

Untuk melaksanakan operasi if-else dalam pemahaman senarai, anda boleh menggunakan operator bersyarat ternary:

<code class="python">[x+1 if x >= 45 else x+5 for x in l]</code>
Salin selepas log masuk

Ungkapan ini menilai kepada:

<code class="python">[27, 18, 46, 51, 99, 70, 48, 49, 6]</code>
Salin selepas log masuk

Dalam contoh ini, 'x 1' dilaksanakan untuk setiap x lebih besar daripada atau sama dengan 45 dan 'x 5' dilaksanakan untuk setiap x kurang daripada 45.

Atas ialah kandungan terperinci Bagaimanakah anda menggunakan pernyataan if-else dalam pemahaman senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan