Dictionary
Berbeda dengan List
yang memakai indeks angka untuk merujuk pada isi variabel, Dictionary
memakai key untuk merujuk pada isi variabelnya. Tipe data Dictionary
adalah tipe data yang digunakan untuk menyimpan data dalam bentuk pasangan key dan value. Tipe struktur data dictionary mirip dengan kamus, pada bahasa pemrograman lain sering disebut associative array.
Kunci tidak harus berupa angka. Kunci dapat berupa tipe data immutable lainnya, yaitu String
, Number
, dan Tuple
. Tuple
dapat digunakan sebagai kunci jika di dalam Tuple
tersebut tidak terdapat obyek yang bersifat mutable. Dengan kata lain, Dictionary
Python merupakan kumpulan pasangan kunci:nilai (selanjutnya kita sebut: key:value) yang tidak berurutan.
Suatu kunci (key) pada Dictionary
bersifat unik, yang artinya satu kunci hanya mempunyai satu nilai. Aturan penulisannya berupa key:value. Sebuah Dictionary ditandai dengan kurung kurawal {}
. Setiap pasangan key:value dipisahkan dengan tanda koma.
Mendefinisikan Dicitionary
>>> myDict = {}
>>> myDict['one'] = 'satu'
Mencari Jumlah Elemen
>>> len(namaDictionary)
Mengganti Elemen
>>> myDict['one'] = 'siji'
Menghapus Elemen
>>> del myDict[indeks]
Method pada Dictionary :
keys()
= menampilkan kuncivalues()
= menampilkan nilai elemenitems()
= menampilkan pasangan kunci dan nilaihas_key(kunci)
= mengetahui keberadaan kuncicopy()
= menyalin ke dictionary baru lain
Contoh :
>>> type({'nama': 'thor','id':19})
<type 'dict'>
>>> kamus = {}
>>> kamus1 = {'nama':'zoro', 'nim':1234, 'jurusan':'samurai'}
>>> kamus1
{'nama': 'zoro', 'jurusan': 'samurai', 'nim': 1234}
>>> kamus
{}
>>> dict = {}
>>> dict['one'] = "Ini elemen pertama"
>>> dict[2] = "Ini elemen kedua"
>>> tinydict = {'nama': 'Zoro','Pirates':6734, 'Jurus': 'Onigiri'}
>>> print ( dict['one'] ) # Prints value for 'one' key
Ini elemen pertama
>>> print ( dict[2] ) # Prints value for 2 key
Ini elemen kedua
>>> print ( tinydict ) # Menampilkan semua data pada dictionary
{'nama': 'Zoro', 'Jurus': 'Onigiri', 'Pirates': 6734}
>>> print ( tinydict['nama'] ) # Menampilkan nilai dari key nama
Zoro
>>> print ( tinydict.keys() ) # Menampikan semua key
['nama', 'Jurus', 'Pirates']
>>> print ( tinydict.values() ) # Menampilkan semua value
['Zoro', 'Onigiri', 6734]
Pada contoh di atas, kita membuat sebuah Dictionary kosong kamus yang hanya ditandai oleh tanda kurung kurawal dan sebuah Dictionary kamus1 berisi tiga pasang key:value yang dipisahkan dengan tanda koma.
Untuk mengakses sebuah value dari Dictionary, kita dapat menggunakan key yang berhubungan dengan value tersebut. Berikut contohnya,
>>> kamus1['jurusan']
'samurai'
>>> kamus1['nim']
1234
Pada contoh di atas, terlihat jelas bahwa value ‘samurai’ dapat diakses dengan menggunakan key ‘jurusan’. Ketika kita menggunakan sebuah key dalam Dictionary, maka value yang sesuai akan ditampilkan. Dengan kata lain, kita bisa mengakses data dari Dictionary dengan menggunakan suatu key yang berhubungan dengan data tersebut. Jika kita mencoba menggunakan key yang tidak ada dalam Dictionary, maka pesan kesalahan akan dimunculkan. Berikut contohnya,
>>> kamus1['pacar']
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
kamus1['pacar']
KeyError: 'pacar'
Dictionary bersifat mutable. Pasangan key:value dapat dengan mudah kita tambahkan berulang kali. Pada Dictionary, sebuah value baru dapat ditambahkan atau diubah dengan cara mengakses sebuah key dan memberinya value baru.
>>> kamus1['alamat'] = 'wano'
>>> kamus1
{'nama': 'zoro', 'alamat': 'wano', 'jurusan': 'samurai', 'nim': 1234}
Pada contoh di atas, karena 'alamat'
bukanlah key yang terdapat dalam kamus1
, maka pasangan key:value akan ditambahkan ke kamus1
dengan key = ‘alamat’
dan value = ‘malang’
.
Semua key yang ada dalam Dictionary
tidak harus mempunyai tipe data yang sama. Marilah kita lihat contoh di bawah ini dimana key yang ada saling berbeda tipe datanya.
>>> tesDict = {'2':1234, 2:'abc', 6.5:'cukup'}
>>> tesDict
{2: 'abc', '2': 1234, 6.5: 'cukup'}
Dari contoh di atas, key pertama yaitu '2'
merupakan string yang dihubungkan dengan value 1234
yang bertipe integer, key kedua yaitu 2
bertipe integer dan dihubungkan dengan sebuah string ‘abc’
, dan key yang ketiga adalah sebuah bilangan real 6.5
yang dipasangkan dengan sebuah string ‘cukup’
.
Jika kita ingin mengambil semua key yang ada dalam Dictionary, kita dapat menggunakan metode keys(). Metode keys() akan mengembalikan sebuah list key. Berikut contohnya,
>>> tesDict.keys()
dict_keys([2, '2', 6.5])
Panjang sebuah Dictionary sama dengan banyaknya pasangan key:value yang ada di dalamnya.
>>> len(tesDict)
3
Elemen-elemen yang ada di dalam Dictionary
dapat kita hapus dengan menggunakan pernyataan del
. Kita juga bisa menggunakan pernyataan del
untuk menghapus Dictionary
secara keseluruhan. Kita juga bisa membersihkan Dictionary
dengan menggunakan metode clear()
.
>>> del kamus1['nim']
>>> kamus1
{'nama': 'zoro', 'alamat': 'wano', 'jurusan': 'samurai'}
>>> kamus1.clear()
>>> kamus1
{}
>>> del kamus1
>>> kamus1
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module> kamus1
NameError: name 'kamus1' is not defined
Secara sederhana list menggunakan [ ], tuple menggunakan ( ), dan dic menggunakan { : }