Program Python untuk Membuat Daftar yang Diratakan dari Daftar Bersarang

Contoh 1: Menggunakan Pemahaman Daftar

my_list = [[1], [2, 3], [4, 5, 6, 7]]

flat_list = [num for sublist in my_list for num in sublist]
print(flat_list)

Keluaran

[1, 2, 3, 4, 5, 6, 7]

Ini adalah salah satu cara pythonic paling sederhana untuk meratakan daftar.


Contoh 2: Menggunakan Nested for Loops (cara non pythonic)

my_list = [[1], [2, 3], [4, 5, 6, 7]]

flat_list = []
for sublist in my_list:
    for num in sublist:
        flat_list.append(num)

print(flat_list)

Keluaran

[1, 2, 3, 4, 5, 6, 7]

Daftar kosong flat_list dibuat di mana setiap elemen ditambahkan dari daftar asli.


Contoh 3: Menggunakan paket itertools

import itertools

my_list = [[1], [2, 3], [4, 5, 6, 7]]

flat_list = list(itertools.chain(*my_list))
print(flat_list)

Keluaran

[1, 2, 3, 4, 5, 6, 7]

Contoh 4: Menggunakan sum ()

my_list = [[1], [2, 3], [4, 5, 6, 7]]

flat_list = sum(my_list, [])
print(flat_list)

Keluaran

[1, 2, 3, 4, 5, 6, 7]

Contoh 5: Menggunakan lambda dan reduce ()

from functools import reduce

my_list = [[1], [2, 3], [4, 5, 6, 7]]
print(reduce(lambda x, y: x+y, my_list))

Keluaran

[1, 2, 3, 4, 5, 6, 7]