Bagaimana Anda mengubah daftar bersarang menjadi daftar datar dengan python?
Daftar mungkin adalah tipe data yang paling banyak digunakan di Python. Daftar yang dapat diubah menawarkan banyak fleksibilitas untuk melakukan sejumlah operasi pada item daftar Show
Daftar berisi item yang dipisahkan dengan koma dan dilampirkan dalam tanda kurung siku [ ]. Daftar di Python juga dapat memiliki item dari tipe data yang berbeda bersama-sama dalam satu daftar. Daftar bersarang tidak lain adalah daftar yang berisi beberapa daftar misalnya 3Seringkali kita perlu mengonversi daftar bersarang ini menjadi daftar datar untuk melakukan operasi daftar biasa pada data. Untungnya, dengan Python, ada banyak cara untuk mencapainya Dalam tutorial ini, kita akan membahas beberapa metode untuk mengonversi Nested list menjadi flat regular list _Keluaran
Ratakan Daftar menggunakan Fungsi pengurangan bawaanMetode 1
Keluaran _Metode 2
Keluaran _Metode 3Ini adalah salah satu cara paling efisien untuk meratakan daftar besar
Ratakan Daftar Menggunakan Pemahaman Daftar _Keluaran _Ratakan Daftar Menggunakan NumPyPerhatikan bahwa, NumPy tidak dibundel dengan Instalasi Python, Anda harus menginstalnya yang dapat dilakukan hanya dengan menggunakan Pip Installer Pemahaman daftar adalah salah satu fitur terpenting Python. Pemahaman daftar menawarkan cara cerdas untuk membuat daftar berdasarkan daftar yang ada. Seiring dengan pembuatan daftar baru, pemahaman daftar dapat digunakan untuk memfilter dan memetakan elemen daftar. Biasanya, pemahaman daftar memiliki tanda kurung dan ekspresi, yang diikuti dengan perulangan for. Jika pernyataan juga digunakan dalam for loop ini Pemahaman daftar selalu mengembalikan daftar baru kepada pengguna. Apa itu Daftar Bersarang?Daftar bersarang tidak lain adalah beberapa daftar dalam satu daftar Cara lingkaranKode
Keluaran.
PenjelasanDi sini, daftar dua dimensi yang terdiri dari elemen [[3, 4, 5],[ 7, 8, 9, 10]] ditugaskan ke variabel yang disebut nested_lists. Variabel bernama flatten_list diinisialisasi dengan tanda kurung kosong []. Kemudian for loop digunakan untuk mengulangi elemen-elemen variabel nested_lists. Lingkaran dalam lainnya digunakan dalam lingkaran ini, karena merupakan daftar dua dimensi. Di dalam loop ini, baris flat_list. append(y) digunakan untuk menambahkan atau menambahkan semua elemen daftar ke flatten_list. Pernyataan print() mencetak elemen dari daftar ini Oleh karena itu, hasil akhirnya adalah Ratakan Daftar. [3, 4, 5, 7, 8, 9, 10] Daftar Cara Pemahaman
Keluaran.
PenjelasanElemen [[3, 4, 5],[ 7, 8, 9, 10]] digunakan untuk menginisialisasi variabel nested_lists. Baris kode berikutnya adalah y untuk x di nested_lists untuk y di x. Ini digunakan untuk meratakan elemen daftar dari daftar nested_list. Baris kode terakhir digunakan untuk mencetak elemen dari flat_list Oleh karena itu, hasil akhirnya adalah Ratakan Daftar. [3, 4, 5, 7, 8, 9, 10] itertools. rantai() Fungsi
Keluaran.
PenjelasanVariabel nested_list diinisialisasi dengan elemen [[1,2,3],[4,5,6], [7], [8,9]]. Di baris kode berikutnya, pernyataan impor digunakan untuk memuat modul itertools. Kemudian, itertools. metode chain() digunakan untuk meratakan daftar di dalam variabel nested_list. Baris kode selanjutnya adalah
Di sini, itertools. chain() mengambil elemen nested_lists sebagai argumen. Simbol * sebelum nested_lists mendefinisikan banyak atau semua elemennya. Kemudian hasil dari metode ini diumpankan ke metode list() untuk mengubah urutan menjadi daftar. Hasil akhir dari metode list() ditugaskan ke variabel yang disebut listflat. Nilai dalam variabel listflat dicetak pada baris terakhir menggunakan metode print() Hasil akhirnya adalah Ratakan Daftar. [1, 2, 3, 4, 5, 6, 7, 8, 9] itertools. rantai. from_iterable()
Keluaran.
PenjelasanDalam program ini, sebuah variabel bernama nested_lists diberi nilai [[1,2,3],[4,5,6], [7], [8,9]]. Kemudian modul itertools dimuat menggunakan pernyataan import. Itertools. rantai. metode from_iterable() digunakan selanjutnya. Metode ini mengambil satu argumen yang bisa berupa daftar daftar. Jadi, elemen nested_lists diteruskan sebagai argumen ke itertools. rantai. from_iterable() metode. Hasil pemanggilan fungsi ini diteruskan sebagai argumen untuk metode list() yang mengubah urutan menjadi daftar Daftar rata terakhir dicetak menggunakan kode print("Flatten List. ", listflat). Nilai resultan variabel listflat adalah [1, 2, 3, 4, 5, 6, 7, 8, 9]. KesimpulanSeiring dengan metode dan daftar khusus, teknik pemahaman daftar dapat digunakan untuk operasi file. Anda dapat memfilter elemen dari daftar dan juga membentuk string. Saat membuat daftar, teknik pemahaman daftar lebih cepat dan efisien daripada fungsi normal. Namun, untuk membuat kode lebih mudah dibaca, hindari menulis daftar pemahaman yang sangat panjang seperti yang melibatkan perulangan for dalam satu baris. Bagaimana cara mengubah daftar bersarang menjadi daftar datar?Dalam artikel ini, kami akan membahas 5 pendekatan berbeda untuk mendatar daftar daftar. . Menggunakan loop bersarang Menggunakan pemahaman daftar Menggunakan rekursi Menggunakan modul NumPy Menggunakan metode sum() bawaan Python Bagaimana Anda meratakan daftar bersarang daftar angka )?Anda dapat meratakan daftar Python menggunakan pemahaman daftar, pengulangan for bersarang, dan itertools. metode rantai() . Pemahaman daftar adalah metode yang paling "Pythonic" dan karena itu disukai dalam banyak kasus. Meskipun for loop bersarang efektif, mereka menggunakan lebih banyak baris kode daripada pemahaman daftar.
Bagaimana cara membuat daftar bersarang menjadi daftar tunggal dengan Python?Gunakan fungsi sum() untuk menggabungkan daftar bersarang ke satu daftar dengan meneruskan daftar kosong sebagai argumen kedua padanya .
Bagaimana Anda membuat daftar datar dengan Python?Contoh. . # mengimpor pustaka itertools import itertools # mendefinisikan daftar bersarang daftar bersarang = [[10, 20, 30, 40], [50, 60, 70], [80, 90, 100]] flattenlist = daftar(itertools. rantai(*daftar bersarang)) print('Daftar bersarang. ', daftar bersarang) print('Daftar rata. ', daftar datar |