Koleksi Data · Pelajaran 6 dari 11

Dictionary: pasangan kunci dan nilai

9 menit baca · BelajarCode

Dictionary menyimpan pasangan kunci: nilai. Berbeda dengan list yang diakses dengan nomor indeks, dictionary diakses dengan kunci.

Python
1siswa = {"nama": "Rani", "kelas": "XI-2", "nilai": 88}2print(siswa["nama"])3siswa["nilai"] = 914siswa["ekskul"] = "Robotik"5del siswa["kelas"]6print(siswa)7print(siswa.get("alamat", "belum diisi"))
Keluaran
Rani
{'nama': 'Rani', 'nilai': 91, 'ekskul': 'Robotik'}
belum diisi
  • siswa["nilai"] = 91 mengubah nilai, dan menambah kunci baru jika belum ada.
  • del menghapus sebuah kunci.
  • get(kunci, bawaan) mengembalikan nilai bawaan jika kuncinya tidak ada, alih-alih error.

Menelusuri dictionary

Python
1nilai = {"Andi": 78, "Bela": 92, "Citra": 85}2for nama, n in nilai.items():3    print(nama, n)4print(list(nilai.keys()))5print(sum(nilai.values()) / len(nilai))
Keluaran
Andi 78
Bela 92
Citra 85
['Andi', 'Bela', 'Citra']
85.0

Menghitung frekuensi kata

Python
1teks = "belajar coding itu seru belajar dari flowchart itu mudah"2hitung = {}3for kata in teks.split():4    hitung[kata] = hitung.get(kata, 0) + 156teratas = sorted(hitung.items(), key=lambda pasangan: pasangan[1], reverse=True)7print(teratas[:3])
Keluaran
[('belajar', 2), ('itu', 2), ('coding', 1)]

lambda pasangan: pasangan[1] adalah fungsi kecil tanpa nama yang mengambil bagian kedua (jumlah) dari setiap pasangan. Kata dengan jumlah sama tetap dalam urutan kemunculannya.

Data bersarang

Dictionary bisa berisi list atau dictionary lain, membentuk data yang terstruktur.

Python
1kelas = {2    "Andi": {"mtk": 80, "ipa": 75},3    "Bela": {"mtk": 95, "ipa": 88},4}5for nama, mapel in kelas.items():6    rata = sum(mapel.values()) / len(mapel)7    print(f"{nama}: rata-rata {rata}")8print("Nilai IPA Bela:", kelas["Bela"]["ipa"])
Keluaran
Andi: rata-rata 77.5
Bela: rata-rata 91.5
Nilai IPA Bela: 88

Dictionary comprehension

Python
1harga = {"buku": 12000, "pensil": 3000, "penggaris": 5000}2diskon = {barang: h * 90 // 100 for barang, h in harga.items()}3print(diskon)
Keluaran
{'buku': 10800, 'pensil': 2700, 'penggaris': 4500}

Cek pemahaman

Apa yang terjadi jika menjalankan d = {"a": 1} lalu print(d["b"])?

Latihan

Nilai tertinggi per mapel

Dari data berikut, tampilkan nama siswa dengan nilai tertinggi untuk setiap mapel.

Python
1kelas = {2    "Andi": {"mtk": 80, "ipa": 90},3    "Bela": {"mtk": 95, "ipa": 85},4    "Citra": {"mtk": 70, "ipa": 92},5}

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Latih konsep ini

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi