Kamus Python: Struktur & Peta Hash
Kamus Master Python. Pelajari cara menyimpan, mengambil, dan menangani data pasangan nilai kunci. Memahami kinerja dan praktik terbaik untuk pemetaan.
Ikhtisar
Kamus bisa dibilang merupakan struktur data yang paling penting dan dioptimalkan di Python. Kamus adalah kumpulan nilai data yang dapat diubah dan disimpan dalam pasangan `kunci:nilai`. Jika Anda membayangkan kamus dunia nyata, "kunci" adalah kata yang Anda cari, dan "nilai" adalah definisinya. Struktur pemasangan ini membuatnya sangat efisien untuk mengambil, memperbarui, dan mengelola data relasional.
Di balik terpal, kamus Python diimplementasikan sebagai Tabel Hash (atau Peta Hash) yang sangat optimal. Ini menyiratkan bahwa mengambil nilai dengan kuncinya adalah operasi waktu konstan `O(1)`. Baik kamus Anda berisi sepuluh item atau sepuluh juta item, Python dapat langsung melompat langsung ke alamat memori nilai tersebut tanpa perlu memindai seluruh koleksi.
Untuk mendefinisikan kamus, Anda menggunakan kurung kurawal `{}` dengan kunci dan nilai dipisahkan dengan titik dua `:`. Kunci harus berupa tipe yang tidak dapat diubah (seperti string, bilangan bulat, atau tupel), artinya Anda tidak dapat menggunakan daftar sebagai kunci kamus. Namun, nilai bisa berupa apa saja—termasuk daftar, objek, atau bahkan kamus yang sangat bertingkat, menjadikannya sempurna untuk mewakili struktur data mirip JSON.
Mengakses nilai dilakukan menggunakan notasi braket (misalnya, `pengguna["nama"]`). Namun, jika kuncinya tidak ada, pendekatan ini memunculkan `KeyError`, yang segera menghentikan eksekusi program. Untuk menulis kode yang lebih aman, para profesional menggunakan metode `.get()` (misalnya, `user.get("name")`), yang dengan baik mengembalikan `None` atau nilai default khusus jika kuncinya hilang, sehingga mencegah error yang tidak perlu.
Secara historis, kamus Python sama sekali tidak berurutan. Namun, mulaiPython 3.7, kamus secara resmi dijamin mempertahankan urutan penyisipan. Artinya, saat Anda melakukan iterasi pada kamus menggunakan metode seperti `.keys()`, `.values()`, atau `.items()`, item akan dikembalikan dalam urutan persis seperti saat pertama kali ditambahkan ke kamus, sehingga menggabungkan kecepatan peta hash dengan prediktabilitas daftar.
Kode & Output Eksekusi
Membuat profil konfigurasi pengguna yang banyak memanfaatkan pasangan nilai kunci bersarang.
user = {
"username": "coder123",
"role": "admin",
"active": True
}
user["last_login"] = "2026-04-10" # Adding a key
print(f"Username is {user['username']}")
# Iterating over key-value pairs
for key, value in user.items():
print(f"{key}: {value}")Username is coder123
username: coder123
role: admin
active: True
last_login: 2026-04-10Implementasi Langkah demi Langkah
- Menangani respons JSON dari REST API
- Memetakan ID unik ke objek data besar
- Menyimpan parameter konfigurasi aplikasi
Pertanyaan yang Sering Diajukan
Apa yang terjadi jika saya mencoba mengakses kunci yang tidak ada?
Menggunakan notasi braket (pengguna["nama"]) memunculkan KeyError. Gunakan user.get("name") untuk mengembalikan None tanpa melempar.
Topik Terkait
Pelajari segala sesuatu tentang daftar Python. Temukan cara membuat, mengiris, memodifikasi, dan melakukan iterasi melalui array dengan Python secara asli.
Variabel Python & Tipe Data DijelaskanMemahami variabel Python dan tipe data inti (string, integer, float, boolean). Panduan pemula lengkap untuk penugasan memori dengan Python.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Cara Mengurutkan Daftar dengan Python
Pelajari cara mengurutkan daftar dengan Python menggunakan metode sortir() dan fungsi sortir(). Temukan contoh pengurutan kunci khusus dan urutan terbalik.
Lembar
Panduan referensi lengkap untuk manipulasi string Python. Kuasai pemformatan, pencarian, pemisahan, penggantian, dan pemeriksaan properti string.
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.