Ada beberapa cara di mana daftar bersarang dapat dibongkar dan dibuat menjadi daftar datar, beberapa dari pendekatan ini tidak memerlukan perpustakaan sedangkan yang lain menggunakan itertools, functools, dan numpy Show
1. Perulangan dan Daftar pemahamanIni adalah cara termudah untuk meratakan daftar. Ini menggunakan loop for untuk mengulang daftar utama dan loop for bersarang lainnya untuk mengulang elemen daftar utama
Keluaran _Versi yang lebih pendek dari ini menggunakan pemahaman daftar
Alternatifnya, extend() dapat digunakan untuk membuat daftar yang dihasilkan tanpa loop bersarang
2. itertools. rantai(*nested_list)Itertools adalah bagian dari pustaka standar python dan menyediakan metode untuk membuat daftar datar. Metode rantai mengambil daftar sebagai argumen, oleh karena itu 5 digunakan untuk membongkar daftar, baca lebih lanjut tentang *args di sini, nilai kembaliannya adalah iterator dan bukan daftar, menggunakan daftar() dipaksa untuk menghasilkan semua elemen
3. itertools. rantai. from_iterable(nested_list)Mirip dengan itertools. chain() tetapi mengambil daftar bersarang sebagai argumen _4. functools. kurangi(fungsi, nested_list)reduce() bekerja dengan menerapkan fungsi ke dua elemen iterable secara kumulatif
Alternatifnya, alih-alih menulis fungsi lambda, built-in dapat digunakan _5. numpy. menggabungkan(nested_list)Mengembalikan daftar gabungan, bukan iterator _06. numpy. array(daftar_bersarang). datarArray Numpy memiliki properti flat yang dapat digunakan untuk mendapatkan iterator untuk array yang diratakan tetapi hanya berfungsi jika daftar di dalam daftar bersarang memiliki panjang yang sama Bagaimana Anda meratakan daftar daftar dengan Python?Ada tiga cara untuk meratakan daftar Python. . Menggunakan pemahaman daftar Menggunakan loop for bersarang Menggunakan itertools. rantai() metode Bagaimana Anda meratakan daftar daftar dengan pemahaman daftar?Untuk meratakan daftar daftar, gunakan pernyataan pemahaman daftar [x for l in lst for x in l] . Untuk memodifikasi semua elemen dalam daftar daftar (mis. g. , tingkatkan satu per satu), gunakan pemahaman daftar pemahaman daftar [[x+1 for x in l] for l in lst].
Bagaimana cara membuat daftar daftar menjadi satu daftar dengan Python?Gunakan fungsi sum() untuk menggabungkan daftar bersarang ke satu daftar dengan meneruskan daftar kosong sebagai argumen kedua padanya .
Bagaimana Anda meratakan daftar bersarang di Python?Berikan dua argumen ke metode sum(). my_list dan daftar kosong (mis. e. [ ] ) . sum() menggabungkan my_list dan [ ] untuk menghasilkan daftar yang rata. |