Dictionary

Menyimpan pasangan kunci-nilai: membuat, membaca, mengubah, dan menelusuri.

Part 12 dari 24 ± 40 menit Gratis

Dictionary

Dictionary (dict) menyimpan pasangan kunci → nilai dan mengambilnya dengan sangat cepat.

siswa = {
    "nama": "Sari",
    "umur": 17,
    "hobi": ["membaca", "renang"],
}

Kunci harus unik dan immutable (string, angka, tuple). Nilai boleh apa saja, termasuk list atau dict lain. Sejak Python 3.7, dict mengingat urutan penyisipan.

Membaca nilai

print(siswa["nama"])             # Sari
print(siswa.get("kota"))         # None (tidak error)
print(siswa.get("kota", "-"))    # "-" (nilai bawaan)

siswa["kota"] untuk kunci yang tidak ada → KeyError. Gunakan .get() bila kunci mungkin tidak ada.

Menambah, mengubah, menghapus

siswa["kota"] = "Bandung"        # tambah
siswa["umur"] = 18               # ubah
siswa.update({"umur": 19, "kelas": "XII"})   # banyak sekaligus
del siswa["hobi"]                # hapus
umur = siswa.pop("umur")         # hapus & ambil nilainya

Mengecek kunci

print("nama" in siswa)           # True

in pada dict memeriksa kunci, bukan nilai.

Menelusuri dict

harga = {"apel": 5000, "jeruk": 7000}

for k in harga:                  # kunci
    print(k)
for v in harga.values():         # nilai
    print(v)
for k, v in harga.items():       # pasangan
    print(f"{k}: {v}")

Fungsi yang berguna

len(harga)                       # jumlah pasangan
sum(harga.values())              # total semua nilai
max(harga, key=harga.get)        # kunci dengan nilai terbesar
sorted(harga.items(), key=lambda kv: kv[1])   # urut berdasarkan nilai

Pola menghitung frekuensi

teks = "kata kata kita"
hitung = {}
for kata in teks.split():
    hitung[kata] = hitung.get(kata, 0) + 1
print(hitung)      # {'kata': 2, 'kita': 1}

(Ada juga collections.Counter yang melakukan ini otomatis, bab 19.)

Dict bersarang

kelas = {
    "ani": {"nilai": 90, "lulus": True},
    "budi": {"nilai": 60, "lulus": False},
}
print(kelas["ani"]["nilai"])     # 90

Struktur seperti ini sangat mirip JSON, format pertukaran data paling populer.

Menggabungkan dict

a = {"x": 1}
b = {"y": 2}
c = {**a, **b}       # {'x': 1, 'y': 2}
c = a | b            # Python 3.9+

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X