Di Python, dictionary adalah salah satu struktur data yang sangat kuat dan serbaguna. Berbeda dengan struktur data lainnya seperti list atau tuple, dictionary menyimpan data dalam bentuk pasangan key-value (kunci-nilai). Setiap key dalam dictionary harus bersifat unik, dan Anda bisa mengakses nilainya dengan menggunakan key yang sesuai. Dalam artikel ini, kita akan membahas bagaimana cara menggunakan dictionary di Python, serta berbagai fitur dan operasi dasar yang tersedia.
Apa Itu Dictionary?
Dictionary adalah koleksi data yang terurut (sejak Python 3.7) dan tidak memiliki elemen dengan key yang duplikat. Dictionary menyimpan data dalam bentuk pasangan key-value, di mana:
- Key adalah kunci yang digunakan untuk mengakses data.
- Value adalah data yang terkait dengan key tersebut.
Sebagai contoh, dictionary memungkinkan Anda untuk menyimpan nama orang (key) dan usia mereka (value).
Ciri-ciri Dictionary:
- Tidak Terurut (sebelum Python 3.7), tetapi terurut sejak Python 3.7.
- Unik Key: Setiap key dalam dictionary harus unik. Jika Anda mencoba menambahkan key yang sudah ada, maka nilai yang lama akan diganti dengan nilai yang baru.
- Mutable: Anda dapat menambah, mengubah, atau menghapus elemen-elemen dalam dictionary.
- Dapat Menyimpan Tipe Data Apa Saja: Anda dapat menyimpan berbagai tipe data baik sebagai key maupun value (dengan beberapa batasan pada key).
Membuat Dictionary di Python
Dictionary dibuat dengan menggunakan tanda kurung kurawal {}
dan pasangan key-value yang dipisahkan dengan tanda titik dua :
. Setiap pasangan key-value dipisahkan dengan koma.
Contoh Membuat Dictionary:
# Membuat dictionary person = { "name": "John", "age": 30, "city": "New York" } print(person)
Output:
{'name': 'John', 'age': 30, 'city': 'New York'}
Di sini, "name"
, "age"
, dan "city"
adalah key, sedangkan "John"
, 30
, dan "New York"
adalah nilai yang terkait dengan key tersebut.
Dictionary dengan Tipe Data Lain Sebagai Value
Dictionary bisa menyimpan nilai dengan berbagai tipe data, seperti angka, string, list, bahkan dictionary lain (nested dictionary).
# Dictionary dengan tipe data list sebagai value student = { "name": "Alice", "subjects": ["Math", "Physics", "Chemistry"] } print(student)
Output:
{'name': 'Alice', 'subjects': ['Math', 'Physics', 'Chemistry']}
Operasi Dasar pada Dictionary
1. Mengakses Nilai dengan Key
Anda bisa mengakses nilai dalam dictionary dengan menggunakan key.
person = {"name": "John", "age": 30, "city": "New York"} # Mengakses nilai berdasarkan key print(person["name"]) # Output: John print(person["age"]) # Output: 30
Jika Anda mencoba mengakses key yang tidak ada, Python akan menghasilkan error KeyError
. Untuk menghindari hal ini, Anda bisa menggunakan metode get()
.
# Menggunakan get() untuk mengakses nilai print(person.get("name")) # Output: John print(person.get("gender")) # Output: None (karena key "gender" tidak ada)
Anda juga bisa menentukan nilai default jika key tidak ditemukan:
print(person.get("gender", "Not Available")) # Output: Not Available
2. Menambah atau Memperbarui Elemen
Untuk menambah atau memperbarui pasangan key-value, Anda bisa menggunakan tanda =
dengan key yang ingin Anda tambahkan atau perbarui.
person = {"name": "John", "age": 30} # Menambah pasangan key-value baru person["city"] = "New York" # Memperbarui nilai yang sudah ada person["age"] = 31 print(person)
Output:
{'name': 'John', 'age': 31, 'city': 'New York'}
3. Menghapus Elemen
Anda bisa menghapus elemen dalam dictionary menggunakan beberapa metode:
del
: Menghapus elemen berdasarkan key.pop()
: Menghapus dan mengembalikan nilai berdasarkan key.popitem()
: Menghapus dan mengembalikan pasangan key-value terakhir (untuk dictionary yang terurut, Python 3.7+).
person = {"name": "John", "age": 31, "city": "New York"} # Menghapus pasangan key-value dengan del del person["age"] # Menghapus pasangan key-value dan mendapatkan nilainya dengan pop() city = person.pop("city") print(f"Deleted city: {city}") # Output: Deleted city: New York # Menghapus pasangan key-value terakhir dengan popitem() item = person.popitem() print(f"Deleted item: {item}") # Output: Deleted item: ('name', 'John') print(person) # Output: {}
4. Mengecek Keberadaan Key
Untuk mengecek apakah sebuah key ada dalam dictionary, Anda bisa menggunakan operator in
.
person = {"name": "John", "age": 31, "city": "New York"} print("name" in person) # Output: True print("gender" in person) # Output: False
5. Menyalin Dictionary
Untuk menyalin dictionary, Anda bisa menggunakan metode copy()
.
person = {"name": "John", "age": 31} person_copy = person.copy() print(person_copy) # Output: {'name': 'John', 'age': 31}
Jika Anda ingin membuat salinan yang lebih dalam (deep copy) dari dictionary yang berisi dictionary atau objek lain sebagai value, Anda bisa menggunakan modul copy
dengan fungsi deepcopy()
.
import copy person = {"name": "John", "address": {"city": "New York", "zip": "10001"}} person_copy = copy.deepcopy(person)
6. Mengambil Semua Key, Value, dan Key-Value
keys()
: Mengembalikan semua key dalam dictionary.values()
: Mengembalikan semua value dalam dictionary.items()
: Mengembalikan semua pasangan key-value dalam bentuk tuple.
person = {"name": "John", "age": 31, "city": "New York"} # Mengambil semua keys print(person.keys()) # Output: dict_keys(['name', 'age', 'city']) # Mengambil semua values print(person.values()) # Output: dict_values(['John', 31, 'New York']) # Mengambil semua key-value pairs print(person.items()) # Output: dict_items([('name', 'John'), ('age', 31), ('city', 'New York')])
7. Dictionary Comprehension
Python mendukung penggunaan dictionary comprehension untuk membuat dictionary baru dengan cara yang lebih ringkas.
# Membuat dictionary baru dengan key adalah angka dan value adalah kuadratnya squares = {x: x**2 for x in range(5)} print(squares) # Output: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
Keuntungan Menggunakan Dictionary
- Akses Cepat
Dictionary memungkinkan pencarian nilai yang sangat cepat menggunakan key. Waktu akses rata-rata adalah O(1), sehingga sangat efisien untuk mencari atau memperbarui data. - Flexible dalam Menyimpan Data
Anda bisa menggunakan berbagai tipe data untuk key dan value, memungkinkan Anda untuk menyimpan data yang lebih kompleks. - Mudah diubah dan Dikelola
Dictionary bersifat mutable, yang berarti Anda bisa menambah, mengubah, atau menghapus elemen sesuai kebutuhan. - Cocok untuk Menyimpan Data Relasional
Dictionary sangat berguna untuk menyimpan data yang bersifat relasional, seperti nama dan alamat, ID dan deskripsi, atau kategori dan item.
Kapan Harus Menggunakan Dictionary?
Gunakan dictionary jika:
- Anda perlu menyimpan data yang berhubungan dengan key dan value.
- Anda membutuhkan akses cepat ke nilai berdasarkan key.
- Anda ingin menyimpan data yang tidak terurut, tetapi dengan kemampuan untuk mengaksesnya dengan cara yang lebih fleksibel dibandingkan dengan list.
Jika Anda hanya membutuhkan koleksi data terurut yang memungkinkan duplikasi elemen, Anda mungkin lebih baik menggunakan list atau set.
Contoh Kasus Penggunaan Dictionary
- Menyimpan Data Mahasiswa:
students = { "Alice": {"age": 21, "major": "Physics"}, "Bob": {"age": 22, "major": "Computer Science"} } # Mengakses data mahasiswa print(students["Alice"]["age"]) # Output: 21
- Menggunakan Dictionary untuk Frekuensi Elemen:
words = ["apple", "banana", "apple", "orange", "banana", "apple"] word_count = {} for word in words: if word in word_count: word_count[word] += 1 else: word_count[word] = 1 print(word_count) # Output: {'apple': 3, 'banana': 2, 'orange': 1}
Kesimpulan
Dictionary adalah struktur data yang sangat berguna di Python untuk menyimpan data dalam bentuk pasangan key-value. Dengan akses cepat ke nilai menggunakan key, kemampuan untuk menyimpan berbagai tipe data, dan kemudahan dalam manipulasi data, dictionary menjadi pilihan utama ketika Anda perlu bekerja dengan data yang berhubungan secara langsung. Menggunakan dictionary memungkinkan Anda untuk menulis kode yang lebih efisien dan mudah dipahami!
source: chatgpt