Daftar Referensi Python
List comprehension adalah cara ringkas membuat list baru dalam satu baris dari koleksi lain — pengganti pola “buat list kosong lalu append() di dalam loop”.
Sintaks
[ekspresi for item in iterable if kondisi]
Bagian Sintaks
| Bagian | Wajib? | Keterangan |
|---|---|---|
ekspresi |
Ya | Nilai yang dimasukkan ke list baru, misalnya n ** 2 |
for item in iterable |
Ya | Sumber datanya: list, range, string, dan sebagainya |
if kondisi |
Tidak | Filter — hanya item yang lolos yang diproses |
Nilai balik: list baru — sumber aslinya tidak berubah.
Contoh
kuadrat = [n ** 2 for n in range(10)]
print(kuadrat)
Output:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Contoh Lainnya
Perbandingan dengan loop biasa
kuadrat = []
for n in range(5):
kuadrat.append(n ** 2)
print(kuadrat)
ringkas = [n ** 2 for n in range(5)]
print(ringkas)
Output:
[0, 1, 4, 9, 16]
[0, 1, 4, 9, 16]
Dengan filter if
genap = [n for n in range(10) if n % 2 == 0]
print(genap)
Output:
[0, 2, 4, 6, 8]
Transformasi setiap item
buah = ["apel", "mangga", "kiwi"]
besar = [b.upper() for b in buah]
print(besar)
Output:
['APEL', 'MANGGA', 'KIWI']
Kesalahan Umum
- Lupa kurung siku:
n ** 2 for n in range(5)sendirian →SyntaxError(atau jadi generator jika di dalam kurung biasa). - Comprehension terlalu rumit (bersarang + banyak
if) — kalau sudah sulit dibaca, kembali ke loop biasa. - Memakai comprehension hanya untuk efek samping seperti
[print(n) for n in data]— boros dan tidak Pythonic; pakaiforbiasa.
Pelajari Lebih Lanjut
- Referensi: List di Python · for di Python · Dict Comprehension di Python
- Buku Belajar Python untuk Pemula: Bab 12
