
Function dan Parameter Function di Python
Fungsi (function) adalah salah satu konsep fundamental dalam pemrograman, termasuk di Python.
List comprehension adalah salah satu fitur keren di Python yang memungkinkan kita membuat list baru dengan sintaks yang singkat, elegan, dan mudah dibaca. Dengan list comprehension, kita bisa menggantikan perulangan for
tradisional yang biasanya lebih panjang dan kurang efisien.
Pada artikel ini, kita akan membahas apa itu list comprehension, bagaimana cara menggunakannya, serta berbagai contoh penggunaannya dalam kehidupan sehari-hari sebagai programmer Python. Artikel ini cocok untuk pemula yang ingin menulis kode Python yang lebih “pythonic” dan efisien.
List comprehension adalah cara singkat untuk membuat list baru dari list (atau iterable) yang sudah ada, dengan menerapkan operasi tertentu pada setiap elemennya, bahkan bisa juga dengan kondisi tertentu.
Sintaks dasarnya:
[ekspresi for item in iterable]
Jika ingin menambahkan kondisi (filter):
[ekspresi for item in iterable if kondisi]
Beberapa alasan utama menggunakan list comprehension:
for
biasa.Mari kita bandingkan cara tradisional dan list comprehension untuk membuat list berisi kuadrat angka 1 sampai 5.
kuadrat = []
for i in range(1, 6):
kuadrat.append(i ** 2)
print(kuadrat)
[1, 4, 9, 16, 25]
kuadrat = [i ** 2 for i in range(1, 6)]
print(kuadrat)
[1, 4, 9, 16, 25]
Hasilnya sama, tapi kode dengan list comprehension jauh lebih singkat dan mudah dibaca.
Kita juga bisa menambahkan kondisi agar hanya elemen tertentu yang masuk ke list baru.
Contoh: Membuat list bilangan genap dari 1 sampai 10
genap = [x for x in range(1, 11) if x % 2 == 0]
print(genap)
[2, 4, 6, 8, 10]
Contoh: Membuat list huruf vokal dari sebuah string
kata = "pemrograman"
vokal = [huruf for huruf in kata if huruf in "aiueo"]
print(vokal)
['e', 'o', 'a', 'a']
Kita juga bisa menggunakan if-else
di dalam ekspresi list comprehension.
Contoh: Ganti angka genap dengan “genap”, angka ganjil dengan “ganjil”
hasil = ["genap" if x % 2 == 0 else "ganjil" for x in range(1, 6)]
print(hasil)
['ganjil', 'genap', 'ganjil', 'genap', 'ganjil']
List comprehension juga bisa digunakan untuk membuat list dua dimensi (matriks) atau melakukan operasi bersarang.
Contoh: Membuat matriks 3x3
matriks = [[j for j in range(1, 4)] for i in range(1, 4)]
print(matriks)
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
Contoh: Flatten list 2 dimensi menjadi 1 dimensi
matriks = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flatten = [angka for baris in matriks for angka in baris]
print(flatten)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
List comprehension sangat berguna untuk memproses data menggunakan fungsi.
Contoh: Mengubah semua nama menjadi huruf kapital
nama = ["budi", "ani", "cindy"]
kapital = [n.upper() for n in nama]
print(kapital)
['BUDI', 'ANI', 'CINDY']
Contoh: Menghitung panjang setiap kata dalam list
kata = ["python", "coding", "mudah"]
panjang = [len(k) for k in kata]
print(panjang)
[6, 6, 5]
List comprehension sangat cocok untuk mengambil data tertentu dari list berdasarkan kondisi.
Contoh: Filter angka positif dari list
angka = [-2, 3, -1, 5, 0, -7, 8]
positif = [x for x in angka if x > 0]
print(positif)
[3, 5, 8]
Jika ingin mendapatkan indeks dan nilai sekaligus:
buah = ["apel", "jeruk", "mangga"]
hasil = [f"{i+1}. {b}" for i, b in enumerate(buah)]
print(hasil)
['1. apel', '2. jeruk', '3. mangga']
Gunakan List Comprehension ketika | Gunakan For Loop Tradisional ketika |
---|---|
Operasi sederhana dan satu baris | Operasi kompleks, banyak langkah |
Hanya ingin membuat/memodifikasi list | Perlu banyak logika di dalam loop |
Ingin kode lebih ringkas dan jelas | Perlu side-effect (misal: print, update variabel lain) |
Tips: Jika operasi di dalam loop sudah terlalu rumit, lebih baik gunakan for loop biasa agar kode tetap mudah dibaca.
Lupa tanda kurung siku
List comprehension harus diapit [ ... ]
.
Menulis ekspresi di tempat yang salah
Urutan penulisan: ekspresi, lalu for, lalu if (jika ada).
Menggunakan list comprehension untuk side-effect
Hindari menggunakan list comprehension hanya untuk menjalankan fungsi yang tidak mengembalikan nilai (misal: print). Gunakan for loop biasa untuk itu.
List comprehension adalah fitur powerful di Python yang membuat pembuatan list jadi lebih singkat, efisien, dan mudah dibaca. Dengan memahami cara kerja dan berbagai variasinya, kamu bisa menulis kode Python yang lebih “pythonic” dan profesional.
Ringkasan yang perlu diingat:
Teruslah berlatih menggunakan list comprehension di berbagai kasus, dan kamu akan semakin mahir menulis kode Python yang elegan!
Happy coding!
Fungsi (function) adalah salah satu konsep fundamental dalam pemrograman, termasuk di Python.
Dalam pemrograman Python, mengontrol alur eksekusi program adalah keterampilan penting yang harus dikuasai.
Perulangan (loops) adalah salah satu konsep dasar yang sangat penting dalam pemrograman.
Percabangan atau conditional statements adalah salah satu konsep fundamental dalam pemrograman.