Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Menggunakan dengan Betul jika/lain dalam Pemahaman Senarai Python?
Dalam Python, pemahaman senarai menyediakan cara yang elegan untuk mengubah elemen boleh lelar menjadi senarai baharu. Walau bagaimanapun, adalah sukar untuk menterjemahkan gelung tradisional yang mengandungi pernyataan if/else ke dalam pemahaman senarai.
Pernyataan Masalah:
Pertimbangkan gelung untuk berikut:
results = [] for x in xs: results.append(f(x) if x is not None else '')
Matlamatnya adalah untuk mempunyai '' jika x ialah Tiada dan f(x) sebaliknya menggunakan senarai kefahaman. Percubaan untuk menulis ini sebagai:
[f(x) for x in xs if x is not None else '']
menghasilkan SyntaxError. Apakah sintaks yang betul?
Penyelesaian:
Penyelesaian terletak pada susunan elemen dalam pemahaman senarai. Sintaks yang betul ialah:
[f(x) if x is not None else '' for x in xs]
Generalisasi:
Secara umum, untuk pemahaman senarai dengan ungkapan bersyarat if/else, sintaksnya ialah:
[f(x) if condition else g(x) for x in sequence]
Untuk pemahaman senarai dengan syarat if sahaja (tidak termasuk klausa else), sintaks memudahkan kepada:
[f(x) for x in sequence if condition]
Adalah penting untuk membezakan antara pemahaman senarai yang menapis elemen berdasarkan syarat dan ungkapan bersyarat yang menilai kepada nilai tertentu berdasarkan syarat.
Atas ialah kandungan terperinci Bagaimana Menggunakan dengan Betul jika/lain dalam Pemahaman Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!