Penjelasan List Comprehension dalam Python dengan Contoh

Pemahaman daftar menyediakan cara ringkas untuk membuat daftar dalam Python. Pemahaman daftar lebih mudah dibaca dan sering kali lebih efisien daripada menggunakan perulangan tradisional. Artikel ini akan membahas apa itu pemahaman daftar, cara kerjanya, dan memberikan contoh untuk mengilustrasikan penggunaannya.

Apa itu Pemahaman Daftar?

Pemahaman daftar adalah cara ringkas untuk memproses semua atau sebagian elemen dalam koleksi dan mengembalikan daftar dengan hasilnya. Sintaks pemahaman daftar adalah:

[expression for item in iterable if condition]

Di sini, expression merupakan item saat ini dalam iterasi, tetapi ini juga merupakan hasilnya, yang dapat Anda manipulasi sebelum berakhir seperti item daftar. iterable merupakan koleksi yang Anda lakukan pengulangan, dan condition merupakan filter opsional yang hanya menyertakan item yang memenuhi kondisi.

Contoh Dasar

Membuat Daftar Kotak

Untuk membuat daftar kuadrat angka dari 0 hingga 9, Anda dapat menggunakan pemahaman daftar sebagai berikut:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
squares = [x ** 2 for x in numbers]
print(squares)

Keluaran:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Memfilter Item

Anda juga dapat menambahkan kondisi untuk memfilter item. Misalnya, untuk mendapatkan hanya angka genap dari daftar:

even_squares = [x ** 2 for x in numbers if x % 2 == 0]
print(even_squares)

Keluaran:

[0, 4, 16, 36, 64]

Meratakan Daftar Daftar

Jika Anda memiliki daftar daftar dan ingin meratakannya, Anda dapat menggunakan pemahaman daftar:

list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [item for sublist in list_of_lists for item in sublist]
print(flattened)

Keluaran:

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

Contoh Lanjutan

Menerapkan Fungsi

Anda dapat menerapkan fungsi dalam pemahaman daftar. Misalnya, untuk mengubah daftar string menjadi huruf kapital:

words = ['hello', 'world', 'python']
uppercase_words = [word.upper() for word in words]
print(uppercase_words)

Keluaran:

['HELLO', 'WORLD', 'PYTHON']

Pemahaman Bersarang

Pemahaman daftar dapat disarangkan. Misalnya, untuk membuat daftar tupel (i, j) di mana i dan j keduanya merupakan elemen dari dua daftar:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(i, j) for i in list1 for j in list2]
print(pairs)

Keluaran:

[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]

Kesimpulan

Pemahaman daftar menawarkan cara yang ampuh dan ringkas untuk membuat daftar dalam Python. Pemahaman daftar dapat menyederhanakan kode Anda dan membuatnya lebih mudah dibaca dengan mengganti beberapa baris kode loop dengan satu baris pemahaman. Berlatihlah menggunakan pemahaman daftar agar lebih memahami sintaksis dan kemampuannya.