Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Cara Flatten List of Lists di Python: Panduan Lengkap

1 min read .
Cara Flatten List of Lists di Python: Panduan Lengkap

Di Python, list itu super fleksibel. kita bisa menyimpan banyak item dalam satu variabel, bahkan bisa berisi list lain, sehingga muncul list of lists. Masalahnya, kadang kita butuh semua elemen itu dalam satu list saja. Tenang, ada beberapa cara untuk melakukan flattening di Python, dari yang simpel sampai yang lebih canggih.

1. Apa Itu List of Lists?

List of lists itu persis seperti namanya: sebuah list di mana setiap elemennya juga list.

nested_list = [[1, 2, 3], [4, 5], [6, 7, 8]]

Kalau mau menggabungkan semua elemen jadi satu list, kita perlu flatten.

2. Menggunakan List Comprehension

Ini cara paling Pythonic dan mudah dibaca. Ideal buat kebanyakan kasus.

nested_list = [[1, 2, 3], [4, 5], [6, 7, 8]]
flat_list = [item for sublist in nested_list for item in sublist]
print(flat_list)

List comprehension ini bekerja dengan dua for: pertama untuk tiap sublist, kedua untuk tiap item di sublist.

3. Menggunakan sum dengan List Kosong

Cara ini agak unik: gunakan sum dengan list kosong sebagai start value.

nested_list = [[1, 2, 3], [4, 5], [6, 7, 8]]
flat_list = sum(nested_list, [])
print(flat_list)

sum akan menambahkan tiap sublist ke list kosong. Tapi ini lebih lambat dan kurang efisien dibanding list comprehension.

4. Flatten dengan Nested Depth Lebih Dalam (Rekursif)

Kalau list punya kedalaman berbeda-beda, cara di atas nggak cukup. Di sini kita butuh rekursi.

def flatten(nested_list):
    flat_list = []
    for item in nested_list:
        if isinstance(item, list):
            flat_list.extend(flatten(item))
        else:
            flat_list.append(item)
    return flat_list

nested_list = [[1, [2, 3]], [4, [5, 6]], [7, 8]]
flat_list = flatten(nested_list)
print(flat_list)

Fungsi ini ngecek tiap item: kalau list, rekursif; kalau bukan, langsung masuk ke flat_list.

Kesimpulan

Flatten list of lists itu hal yang umum di Python. Dari cara simpel pakai list comprehension, trik sum, sampai rekursi untuk list bersarang dalam, semua punya kelebihan masing-masing. Kalau ngerti semua metode ini, kamu bakal lebih jago dalam menata data kompleks di Python.

Lihat Juga

chevron-up