Dictionary dalam python
Dictionary adalah stuktur data yang bentuknya seperti kamus. Ada kata kunci kemudian ada nilainya. Kata kunci harus unik, sedangkan nilai boleh diisi denga apa saja.
Contoh:
aku = {
    "nama": "Petani Kode",
    "url:" "https://www.petanikode.com"
}
Pada contoh di atas kita membuat sebuah Dictionary bernama aku dengan isi data nama dan URL. nama dan url adalah kunci (key) yang akan kita gunakan untuk mengakses nilai di dalamnya.
Inilah perbedaanya dibandingkan list dan tuple. Dictionary memiliki kunci berupa teks—bisa juga angka—sedangkan list dan tuple menggunakan indeks berupa angka saja untuk mengakses nilainya.
Dalam bahasa pemrograman lain (seperti PHP), Dictionary juga dikenal dengan sebutan asosiatif array.
2. Membuat Dictionary
Hal yang wajib ada di dalam pembuatan Dictionary adalah:
  • nama dictionary,
  • key,
  • value,
  • buka dan tutupnya menggunakan kurung kurawal.
Antara key dan value dipisah dengan titik dua (:) dan apabila terdapat lebih dari satu item, maka dipisah dengan tanda koma (,).
Contoh satu item:
nama_dict = {
    "key": "value"
}
Contoh tiga item:
nama_dict = {
    "key1": "value",
    "key2": "value",
    "key3": "value"
}
Isi dari Dictionary dapat berupa:
  • String
  • Integer
  • Objek
  • List
  • Tuple
  • Dictionary
  • dsb.
Contoh:
pak_tani = {
    "nama": "Petani Kode",
    "umur": 22,
    "hobi": ["coding", "membaca", "cocok tanam"],
    "menikah": False,
    "sosmed": {
        "facebook": "petanikode",
        "twitter": "@petanikode"
    }
}
Mari kita lihat isi dari Dictionary di atas:
  • nama berisi string "Petani Kode"
  • umur berisi integer 22
  • hobi berisi list dari string
  • menikah berisi boolean False
  • dan sosmed berisi Dictionary
Menggunakan Konstruktor
Selain menggunakan cara di atas, kita juga bisa membaut Dictionary dari constructor dict() dengan parameter key dan value.
Contoh:
warna_buah = dict(jeruk="orange", apel="merah", pisang="kuning")
Maka akan menghasilkan dictionary seperti ini:
{'jeruk': 'orange', 'pisang': 'kuning', 'apel': 'merah'}
3. Mengakses Nilai Item dari Dictionary
Kita sudah tahu cara membuat Dictionary, sekarang bagaimana cara mengaksesnya?
Cara mengaksesnya sama seperti list. Namaun kunci yang digunakan bukan angka, melainkan keyword yang sudah kita tentukan di dalam Dictionary-nya.
Contoh:
# Membuat Dictionary
pak_tani = {
    "nama": "Petani Kode",
    "umur": 22,
    "hobi": ["coding", "membaca", "cocok tanam"],
    "menikah": False,
    "sosmed": {
        "facebook": "petanikode",
        "twitter": "@petanikode"
    }
}

# Mengakses isi dictionary
print("Nama saya adalah %s" % pak_tani["nama"])
print("Twitter: %s" % pak_tani["sosmed"]["twitter"])
Maka akan menghasilkan:
Nama saya adalah Petani Kode
Twitter: @petanikode
Selain dengan cara di atas, kita juga bisa mengambil nilai Dictionary dengan method get().
Contoh:
print(pak_tani.get("nama"))
Hasilnya:
Petani Kode
Menggunakan Perulangan
Untuk mencetak semua isi Dictionary, kita bisa menggunakan perulangan seperti ini:
# Membuat dictionary
web = {
    "name": "petanikode",
    "url": "https://www.petanikode.com",
    "rank": "5"
}

# Mencetak isi dictionary dengan perulangan
for key in web:
    print(web[key])
Hasilnya:
petanikode
5
https://www.petanikode.com
Kita juga bisa melakukannya seperti ini:
web = {
    "name": "petanikode",
    "url": "https://www.petanikode.com",
    "rank": "5"
}

for key, val in web.items():
    print("%s : %s" % (key, val))
Hasilnya:
name : petanikode
rank : 5
url : https://www.petanikode.com
4. Mengubah Nilai Item Dictionary
Dictionary bersifat mutable, artinya nilainya dapat kita ubah-ubah. Untuk mengubah nilai Dictionary, kita bisa lakukan seperti ini:
nama_dic["kunci"] = "Nilai Baru"
Contoh:
# membuat dictioanary
skill = {
    "utama": "Python",
    "lainnya": ["PHP","Java", "HTML"]
}

# Mencetak isi skill utama
print(skill["utama"])

# mengubah isi skill utama
skill["utama"] = "Rust"

# Mencetak isi skill utama
print(skill["utama"])
Maka akan menghasilkan:
Python
Rust
5. Menghapus Item dari Dictionary
Untuk menghapus nilai Dictionary, kita bisa menggunakan perintah del dan method pop().
Method pop() adalah method yang berfungsi untuk mengeluarkan item dari dictionary sedangak fungsi del adalah fungsi untuk menghapus suatu variabel dari memori.
Contoh menghapus dengan del:
>>> del skill["utama"]
>>> skill
{'lainnya': ['PHP', 'Java', 'HTML']}

Contoh menghapus dengan method pop():
>>> skill.pop("utama")
'Rust'
>>> skill
{'lainnya': ['PHP', 'Java', 'HTML']}

…atau bila kita ingin menghapus semuanya sekaligus, kita bisa menggunakan method clear().
Contoh:
skill.clear()
6. Menambahkan Item ke Dictionary
Kita bisa menggunakan method update() untuk menambahkan isi ke Dictionary. Parameternya berupa Dictionary.
Selain berfungsi untuk menambahkan, method ini juga berfungsi untuk mengubah nilai dictionary apabila kunci yang dimasukkan sudah ada di dalamnya.
Contoh:

# membuat dictionary user
user = {
    "name": "petanikode"
}

# menambahkan password
user.update({"password": "akucintakamu123"})

print(user)

# update name
user.update({"name": "peternaklinux"})

print(user)
Hasilnya:
{'name': 'petanikode', 'password': 'akucintakamu123'}
{'name': 'peternaklinux', 'password': 'akucintakamu123'}
7. Mengambil Panjang Dictionary
Untuk mengambil jumlah data atau panjang Dictionary, kita bisa menggunakan fungsi len().
Contoh:
# membuat dictonary
books = {
    "python": "Menguasai Python dalam 2028 jam",
    "java": "Tutorial Belajar untuk Pemula",
    "php": "Membuat aplikasi web dengan PHP"
}

# mencetak jumlah data yang ada di dalam dictionary
print("total buku: %d" % len(books))
Hasilnya:
total buku: 3