0Pricing
Python Academy · Pelajaran

List Comprehension

Buat list secara ringkas menggunakan sintaks comprehension dengan kondisi.

List Comprehension adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pendahuluan

Pemahaman daftar membuat daftar baru dari iterable dalam satu ekspresi yang mudah dibaca, sebagai pengganti pola perulangan for yang umum.

Sintaks Dasar

[expression for item in iterable] adalah bentuk inti. [x*2 for x in range(5)] menghasilkan [0,2,4,6,8].
doubled = [x*2 for x in range(5)]
print(doubled)

Dengan Kondisi

[x for x in range(10) if x%2==0] menyaring bilangan genap. Klausa if diletakkan setelah klausa for.
evens = [x for x in range(10) if x % 2 == 0]
print(evens)

Mengubah String

[word.upper() for word in words] menerapkan upper() pada setiap string. Ini berfungsi pada iterable apa pun.
words = ['hello', 'world']
print([w.upper() for w in words])

Pemahaman Bersarang

[x for row in matrix for x in row] adalah pemahaman bersarang yang diratakan (dibaca dari kiri ke kanan, dengan perulangan luar terlebih dahulu).
matrix = [[1,2,3],[4,5,6]]
flat = [x for row in matrix for x in row]
print(flat)

if/else dalam Ekspresi

[x if x>0 else 0 for x in lst] menggunakan ternary di bagian ekspresi (sebelum for), bukan setelahnya.
lst = [-1, 2, -3, 4]
clipped = [x if x > 0 else 0 for x in lst]
print(clipped)

Pemahaman vs map/filter

[f(x) for x in it if cond(x)] setara dengan list(map(f, filter(cond, it))), tetapi lebih mudah dibaca.
nums = range(10)
result = [x**2 for x in nums if x%2==0]
print(result)

Meratakan dengan Pemahaman

Untuk 2 tingkat atau lebih, pemahaman dapat meratakan struktur: [[1,2],[3,4]] → [1,2,3,4].
nested = [[1,2],[3,4],[5]]
flat = [x for sub in nested for x in sub]
print(flat)

Pemahaman dengan enumerate()

[(i, x) for i, x in enumerate(lst)] menghasilkan daftar pasangan indeks-nilai.
colors = ['red', 'green', 'blue']
indexed = [(i, c) for i, c in enumerate(colors)]
print(indexed)

Pemahaman dengan zip()

[a+b for a, b in zip(lst1, lst2)] menjumlahkan elemen yang bersesuaian dari dua daftar.
a = [1, 2, 3]
b = [10, 20, 30]
print([x+y for x,y in zip(a,b)])

Kapan Tidak Menggunakan Pemahaman

Jika logikanya rumit atau memerlukan efek samping, gunakan perulangan for biasa. Pemahaman sebaiknya tetap berupa satu baris.
# Too complex for comprehension:
result = []
for x in range(10):
    if x > 5:
        result.append(x * x)
print(result)

Pemeriksaan Singkat

Dalam pemahaman daftar yang memiliki kondisi dan ternary, di mana ternary diletakkan?

Ringkasan

Pemahaman daftar: [expr for x in it if cond]. Ternary dalam ekspresi: [x if cond else y for x in it]. Gunakan untuk transformasi yang datar dan mudah dibaca.

Lanjutkan

Bagus sekali! Lanjutkan ke pelajaran berikutnya untuk memperdalam keterampilan Anda.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “List Comprehension” gratis?

Ya — teks lengkap “List Comprehension” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “List Comprehension”?

Buat list secara ringkas menggunakan sintaks comprehension dengan kondisi. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “List Comprehension” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. List Comprehension
  2. Set dan Dict Comprehension
  3. Expression Generator
  4. Kata Kunci yield
← Kembali ke Python Academy