Belajar dengan membaca secara berurutan

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.

Struktur dictionary
"brand""Toyota""model""Prius""year"2015memetakan kememetakan kememetakan ke

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.

Yuk kelola profil user dengan dictionary.

① Buat dict user dengan 3 pasangan key-value berikut:

- "name": "Budi"

- "age": 28

- "email": "budi@example.com"

② Pakai user["name"] untuk mencetak nama dan user["age"] untuk mencetak umur dengan print().

Python Editor

Jalankan kode untuk melihat output

Mengambil nilai — [] vs .get()

Ada dua cara untuk mengambil nilai dari dict, dan perbedaan utamanya adalah bagaimana keduanya berperilaku saat key tidak ada.

Perbedaan [] dan .get()
car["color"](tidak ada)[ ]KeyErrordipicucar.get("color").get()Mengembalikan None(tanpa error)aksessaat tidak adaaksessaat tidak ada

Coba ambil key yang tidak ada dari dict car dengan [] untuk melihat yang terjadi.

① Cetak car["brand"] dengan print().

② Cetak car["color"] dengan print() dan konfirmasi bahwa KeyError dipicu.

Python Editor

Jalankan kode untuk melihat output

.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).

Dict pengaturan user config = {"theme": "dark", "lang": "id"} sudah siap.

① Ambil tema saat ini dengan config["theme"] dan cetak.

② Pakai .get() untuk mengambil "font_size", dengan fallback 16 kalau tidak diset.

Python Editor

Jalankan kode untuk melihat output

Tambah, perbarui, hapus

Dict, seperti list, bisa dimodifikasi setelah dibuat.

Cara paling sederhana untuk menambah, memperbarui, dan menghapus adalah penetapan langsung.

TujuanSintaksPoin penting
Tambah atau perbaruid["key"] = valueMemperbarui kalau key ada, menambah kalau tidak
Perbarui banyak sekaligusd.update(other_dict)Menimpa key yang sama, menambah yang baru
Ambil dan hapusv = d.pop("key")Menghapus dan menyimpan value. Key tidak ada memicu KeyError
Kosongkand.clear()Objek dict tetap, isinya dikosongkan
Hapus variabelnyadel dMenghapus d itu sendiri. Referensi setelahnya memicu error
Perilaku d[key] = value
car(tanpa "color")car["color"]= "white"Ditambahkancar(ada "year")car["year"]= 2024Ditimpatetapkankey tidak adatetapkankey sudah ada

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)             # {}

Edit dict info user.

user = {"name": "Budi", "age": 28} sudah siap.

① Perbarui "age" menjadi 29.

② Tambah "email": "budi@example.com" sebagai entri baru.

③ Pakai update() untuk menerapkan "country": "JP" dan "age": 30 sekaligus, lalu cetak user hasil akhirnya.

Python Editor

Jalankan kode untuk melihat output

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
4 alat sekilas
car.keys()daftar keycar.values()daftar valuecar.items()daftar pasangan"key"in carTrue /False

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.

Dari daftar stok stock = {"apple": 5, "banana": 0, "grape": 12}, tulis kode yang memeriksa apakah buah tertentu tersedia dan menampilkan daftar key-nya.

① Pakai in untuk memeriksa apakah "banana" adalah key di stock dan cetak hasilnya.

② Untuk target = "lemon", cetak "{target} tersedia: {stock[target]}" kalau ada, atau "Tidak tersedia" kalau tidak (template if ada di komentar).

③ Pakai stock.keys() untuk mengambil hanya key-nya, bungkus dengan list(), lalu cetak (daftar nama buah).

Python Editor

Jalankan kode untuk melihat output

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.

QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Untuk d = {"a": 1, "b": 2}, mana yang tidak memicu error saat mencari key yang tidak ada?

Soal 2Setelah menjalankan d["a"] = 2 pada d = {"a": 1}, apa isi d?

Soal 3Metode mana yang mengembalikan daftar key?