Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Meratakan Keputusan Pemahaman Senarai Bersarang dalam Python?

Bagaimanakah Saya Boleh Meratakan Keputusan Pemahaman Senarai Bersarang dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-11-09 00:23:02802semak imbas

How Can I Flatten Nested List Comprehension Results in 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!

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