Cara Menggunakan Pemahaman Daftar dengan Python
Pelajari cara menggunakan pemahaman daftar dengan Python. Tulis loop ringkas, terapkan filter bersyarat, dan buat matriks dengan sintaksis visual yang bersih.
Ikhtisar
Pemahaman daftar adalah salah satu fitur Python yang paling populer dan ikonik. Ini menawarkan sintaksis yang ringkas, ekspresif, dan sangat mudah dibaca untuk membuat daftar baru dari iterable yang sudah ada (seperti daftar, rentang, atau tupel). Ini memungkinkan Anda mengganti loop `for` multi-baris dan pernyataan inisialisasi daftar dengan satu baris kode.
Sintaks dasar pemahaman daftar adalah `[ekspresi untuk item dalam iterable]`. Di balik terpalnya, sintaksis ini sangat dioptimalkan dalam implementasi Python, membuatnya berjalan lebih cepat daripada loop `for` standar yang menambahkan item menggunakan `.append()`. Ini sangat ideal untuk menerapkan transformasi matematika atau memodifikasi elemen.
Pemahaman daftar juga mendukung pemfilteran bersyarat menggunakan klausa `if`, memungkinkan Anda menyertakan elemen secara selektif (misalnya, `[x untuk x dalam data jika x % 2 == 0]`). Meskipun sangat ampuh, pemahaman daftar harus digunakan dengan hati-hati: jika pemahaman Anda sangat kompleks atau bertumpuk, lebih baik menulis loop standar untuk menjaga keterbacaan.
Kode & Output Eksekusi
Skrip ini menunjukkan pemahaman daftar dasar, pemfilteran dengan kondisi, dan transformasi nilai string.
# 1. Traditional for-loop way to build a list
squares_loop = []
for x in range(1, 6):
squares_loop.append(x**2)
print("Loop squares:", squares_loop)
# 2. List comprehension way (same outcome)
squares_comp = [x**2 for x in range(1, 6)]
print("Comp squares:", squares_comp)
# 3. Filtering elements with an 'if' clause (even numbers only)
evens = [n for n in range(1, 11) if n % 2 == 0]
print("Even numbers:", evens)
# 4. String modifications using comprehensions
names = ["alice", "bob", "charlie"]
caps = [name.capitalize() for name in names]
print("Capitalized:", caps)Loop squares: [1, 4, 9, 16, 25]
Comp squares: [1, 4, 9, 16, 25]
Even numbers: [2, 4, 6, 8, 10]
Capitalized: ['Alice', 'Bob', 'Charlie']Implementasi Langkah demi Langkah
- Identifikasi badan perulangan dan ekspresi yang ingin Anda tangkap dalam daftar.
- Susun pemahaman sebagai [ekspresi untuk item yang dapat diubah].
- Tambahkan kondisi if opsional di akhir untuk memfilter elemen secara dinamis.
Pertanyaan yang Sering Diajukan
Bisakah saya menggunakan pernyataan if-else di dalam pemahaman daftar?
Iya! Tempatkan klausa if-else sebelum perulangan for: [x if x > 0 else 0 for x in data].
Apa perbedaan antara pemahaman daftar dan ekspresi generator?
Pemahaman daftar menggunakan tanda kurung siku dan mengembalikan daftar lengkap secara instan. Ekspresi generator menggunakan tanda kurung dan mengembalikan objek generator malas, yang menghemat memori untuk kumpulan data besar.
Topik Terkait
Pelajari cara mengurutkan daftar dengan Python menggunakan metode sortir() dan fungsi sortir(). Temukan contoh pengurutan kunci khusus dan urutan terbalik.
Cara Menghapus Duplikat Dari Daftar dengan PythonPelajari cara menghapus duplikat dari daftar dengan Python sambil mempertahankan atau mengabaikan urutan. Bandingkan konversi set, tombol dict, dan metode loop.
Cara Menggunakan Fungsi Lambda dengan PythonPelajari cara menggunakan fungsi lambda dengan Python. Kuasai fungsi anonim, panggilan balik sebaris, dan pengurutan data daftar dengan kunci lambda.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Daftar Python
Pelajari segala sesuatu tentang daftar Python. Temukan cara membuat, mengiris, memodifikasi, dan melakukan iterasi melalui array dengan Python secara asli.
Lembar
Panduan referensi cepat untuk operasi daftar Python. Kuasai penambahan, penyisipan, penghapusan, pengurutan, dan pengirisan elemen.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.