Soal 1Untuk d = {"a": 1, "b": 2}, mana yang tidak memicu error saat mencari key yang tidak ada?
Cara Pakai Dictionary Python (dict)
Pelajari tipe dict Python dari dasar. Cakup deklarasi pasangan key-value, pengambilan nilai, tambah / update / hapus, dan iterasi.
Membuat dictionary
Dictionary (dict) adalah tipe yang menyimpan nilai sebagai pasangan key-value.
Kalau list adalah kotak yang kamu ambil nilainya berdasarkan posisi (0, 1, 2…), dict adalah kotak yang kamu ambil nilainya berdasarkan nama (key) — itu model mental paling gampang.
Bungkus dengan { } dan tulis pasangan key: value dipisahkan koma.
Key adalah nama, value adalah isinya. Key harus unik.
# Deklarasi dictionary
car = {
"brand": "Toyota",
"model": "Prius",
"year": 2015,
}
print(car) # {'brand': 'Toyota', 'model': 'Prius', 'year': 2015}
print(type(car)) # <class 'dict'>
# Key tidak harus string (angka juga bisa)
score_by_id = {1: 80, 2: 95, 3: 72}
print(score_by_id[2]) # 95
Kapan pakai list vs dict
Kalau urutan atau posisi penting, pakai list. Kalau mau mencari berdasarkan nama, pakai dict.
Misalnya, 'peringkat 3 skor' adalah list; 'skor per user' adalah dict.
Untuk data yang sama pun, cara kamu mau mengambilnya yang menentukan pilihannya.
Mengambil nilai — [] vs .get()
Ada dua cara untuk mengambil nilai dari dict, dan perbedaan utamanya adalah bagaimana keduanya berperilaku saat key tidak ada.
.get() memungkinkan kamu menetapkan nilai default sebagai argumen kedua — itu bagian yang praktis.
Kamu bisa bilang 'kembalikan ini kalau key tidak ada' dalam satu baris saja.
car = {"brand": "Toyota", "model": "Prius", "year": 2015}
# ① Akses dengan []
print(car["brand"]) # Toyota
# print(car["color"]) # KeyError: 'color'
# ② Akses dengan .get()
print(car.get("brand")) # Toyota
print(car.get("color")) # None
print(car.get("color", "Tidak diketahui")) # Tidak diketahui (argumen kedua yang dikembalikan)
.get() untuk tetap jalan, [] untuk ketat
Kalau key yang hilang berarti ada yang rusak, [] lebih aman — ia memunculkan masalah lebih awal sebagai error.
Kalau keduanya tidak masalah (misal, pengaturan opsional), memberikan default ke .get() lebih mudah dibaca dan mengurangi exception handling (dibahas nanti).
Tambah, perbarui, hapus
Dict, seperti list, bisa dimodifikasi setelah dibuat.
Cara paling sederhana untuk menambah, memperbarui, dan menghapus adalah penetapan langsung.
| Tujuan | Sintaks | Poin penting |
|---|---|---|
| Tambah atau perbarui | d["key"] = value | Memperbarui kalau key ada, menambah kalau tidak |
| Perbarui banyak sekaligus | d.update(other_dict) | Menimpa key yang sama, menambah yang baru |
| Ambil dan hapus | v = d.pop("key") | Menghapus dan menyimpan value. Key tidak ada memicu KeyError |
| Kosongkan | d.clear() | Objek dict tetap, isinya dikosongkan |
| Hapus variabelnya | del d | Menghapus d itu sendiri. Referensi setelahnya memicu error |
Sintaks yang sama menambah saat key tidak ada dan memperbarui saat key ada.
Dict memutuskan 'buat kalau tidak ada, timpa kalau ada' untukmu.
car = {"brand": "Toyota", "model": "Prius", "year": 2015}
# Tambah (key baru)
car["color"] = "white"
print(car)
# {'brand': 'Toyota', 'model': 'Prius', 'year': 2015, 'color': 'white'}
# Perbarui (key yang sudah ada)
car["year"] = 2024
print(car["year"]) # 2024
# Perbarui banyak sekaligus
car.update({"country": "JP", "model": "Camry"})
print(car["model"]) # Camry (ditimpa)
print(car["country"]) # JP (baru ditambahkan)
# Ambil dan hapus
old_year = car.pop("year")
print(old_year) # 2024
# print(car["year"]) # KeyError (sudah tidak ada)
# Kosongkan
car.clear()
print(car) # {}
Menampilkan key/value & memeriksa keberadaan
Terakhir: alat untuk memeriksa dict.
Ada 4 alat utama — keys() / values() / items() / operator in.
- keys() — mengembalikan daftar key (
dict_keys(['brand', 'model', ...])) - values() — mengembalikan daftar value
- items() — mengembalikan daftar pasangan key-value (biasanya dipakai dengan loop
for) - "key" in dict — mengembalikan True / False tergantung apakah key ada
Dict yang sama, panggilan berbeda tergantung apa yang ingin kamu ambil.
keys / values / items mengembalikan daftar; in mengembalikan True / False.
car = {"brand": "Toyota", "model": "Prius", "year": 2015}
print(car.keys()) # dict_keys(['brand', 'model', 'year'])
print(car.values()) # dict_values(['Toyota', 'Prius', 2015])
print(car.items()) # dict_items([('brand', 'Toyota'), ...])
# Periksa keberadaan key (biasanya digabung dengan if)
print("brand" in car) # True
print("color" in car) # False
if "brand" in car:
print("Merek: " + car["brand"])
else:
print("Tidak ada info merek")
Menggabungkan for dengan items() (referensi)
Untuk iterasi dict satu per satu, bentuk standarnya adalah for key, value in car.items():.
Kita akan bahas for di bab selanjutnya, jadi tidak kita bahas mendalam di sini — tapi ingat satu hal ini saja: items() memungkinkan kamu mengambil key dan value bersamaan.
Di artikel ini kamu belajar cara mendeklarasikan dict, perbedaan [] dan .get() saat mengambil, cara menambah, memperbarui, dan menghapus entri, serta cara memeriksa keberadaan key dan menampilkan isinya.
Dict muncul di mana-mana dalam pekerjaan nyata — info user, pengaturan, stok, hasil ringkasan. Setelah kamu menginternalisasi gambaran kotak yang diakses berdasarkan key, kamu akan merasa nyaman dengan pemrosesan data yang akan datang.
Cek Pemahaman
Jawab setiap pertanyaan satu per satu.
Soal 2Setelah menjalankan d["a"] = 2 pada d = {"a": 1}, apa isi d?
Soal 3Metode mana yang mengembalikan daftar key?