Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Meratakan Keputusan Pemahaman Senarai Bersarang dalam Python?
Meratakan Keputusan Pemahaman Senarai
Apabila menggunakan pemahaman senarai, adalah perkara biasa untuk menemui senarai bersarang sebagai output, terutamanya apabila bekerja dengan fungsi yang mengembalikan senarai . Untuk menukar senarai bersarang ini kepada hasil yang rata, pertimbangkan untuk melaksanakan teknik berikut:
Lelaran Bersarang dalam Pemahaman Senarai
Kefahaman senarai Python menyokong gelung bersarang. Ini membolehkan anda mengulangi berbilang koleksi dan meratakan hasilnya. Sebagai contoh, pemahaman senarai bersarang berikut menukar senarai direktori kepada senarai subdirektori rata:
<code class="python">dirs = ['dir1', 'dir2', 'dir3'] filenames = [filename for path in dirs for filename in os.listdir(path)]</code>
Pemahaman ini berulang melalui dir, mengakses setiap laluan direktori. Dalam gelung dalam, ia menggunakan os.listdir untuk mendapatkan semula nama fail dalam direktori itu. Senarai yang terhasil mengandungi semua subdirektori.
Pemahaman Senarai Rangkaian
Sebagai alternatif, anda boleh merantai pemahaman senarai berbilang untuk mencapai penyataan. Pendekatan ini sesuai apabila anda mempunyai berbilang transformasi untuk digunakan:
<code class="python">directories = ['dir1', 'dir2', 'dir3'] filenames = [filename for path in directories if os.path.isdir(path) for filename in os.listdir(path)]</code>
Dalam contoh ini, kami mula-mula menapis bukan direktori daripada direktori (menggunakan klausa if). Kemudian, kami menggunakan operasi os.listdir yang sama seperti dalam contoh sebelumnya. Rangkaian pemahaman ini meratakan hasil.
Dengan menggunakan lelaran bersarang atau pemahaman rantaian, anda boleh meratakan hasil pemahaman senarai bersarang dengan berkesan, menyediakan cara yang mudah untuk memudahkan kod anda dan mengekalkan kebolehbacaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meratakan Keputusan Pemahaman Senarai Bersarang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!