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)

Coba di IDE

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)

Coba di IDE

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)

Coba di IDE

Output:

[0, 2, 4, 6, 8]

Transformasi setiap item

buah = ["apel", "mangga", "kiwi"]

besar = [b.upper() for b in buah]
print(besar)

Coba di IDE

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; pakai for biasa.

Pelajari Lebih Lanjut