Setelah membahas tipe data list dan tuple pada artikel sebelumnya, ada tipe data array lainnya di Python yaitu dictionary. Kalau pada list atau tuple, index/key dari array tidak perlu ditentukan sedangkan pada dictionary kita harus menentukannya sendiri. Setiap key dipisahkan dengan value nya menggunakanĀ tanda “:”. Sama seperti list dan tuple, setiap item di dalam dictionary dipisahkan oleh tanda koma, dimulai dan ditutup dengan tanda kurung kurawal.
Setiap key harus unik dalam satu dictionary sedangkan valuenya bebas. Value bisa berisi apa saja, sedangkan key harus berupa string atau angka. Di bawah ini adalah contoh dictionary :
#!/usr/bin/python #membuat dictionary biodata = {'Nama': 'Wayan', 'Asal': 'Gianyar', 'Umur': 21, 'NoUrut': 1}; #menampilkan nama print "Nama : ", biodata['Nama']; #menampilkan no urut print "No Urut: ", biodata['NoUrut'];
Jadi, sesuai dengan contoh di atas menampilkan value berdasarkan key dari dictionary.
Tidak seperti tuple, data dalam dictionary bisa kita update :
#!/usr/bin/python #membuat dictionary biodata = {'Nama': 'Wayan', 'Asal': 'Gianyar', 'Umur': 21, 'NoUrut': 1}; #menambahkan data biodata['JenisKelamin'] = 'Pria'; #menampilkan data baru print "Jenis Kelamin: ", biodata['JenisKelamin'];
Kita juga bisa menghapus data dalam dictionary, ada 3 script yang bisa kita gunakan sesuai dengan kebutuhan :
del biodata['Nama']; # menghapus key Nama biodata.clear(); # menghapus semua key pada dictionary del biodata; # menghapus dictionary
Beberapa fungsi dalam dictionary
Fungsi | Penjelasan |
cmp(d1,d2) | Membandingkan dictionary d1 dan d2 |
len(biodata) | Menampilkan jumlah item dari dictionary |
str(biodata) | Menampilkan representasiĀ string dari dictionary |
Contoh menggunakan fungsi dictionary :
#!/usr/bin/python #membuat dictionary biodata1 = {'Nama': 'Wayan', 'Asal': 'Gianyar', 'Umur': 21, 'NoUrut': 1}; biodata2 = {'Nama': 'Made', 'Asal': 'Denpasar', 'Umur': 23, 'NoUrut': 2}; biodata3 = {'Nama': 'Nyoman', 'Asal': 'Gianyar', 'Umur': 21, 'NoUrut': 3}; biodata4 = {'Nama': 'Wayan', 'Asal': 'Gianyar', 'Umur': 21, 'NoUrut': 1}; #membandingkan dictionary print "Hasil perbandingan biodata1 dan biodata2 : %d" % cmp (biodata1, biodata2) print "Hasil perbandingan biodata1 dan biodata3 : %d" % cmp (biodata1, biodata3) print "Hasil perbandingan biodata1 dan biodata4 : %d" % cmp (biodata1, biodata4) #mendapatkan jumlah item dictionary print "Panjang biodata1 : %d" % len (biodata1) #menampilkan value dalam string print "String : %s" % str (biodata1)
Kemudian ada method-method yang bisa digunakan dalam dictionary
Method | Penjelasan |
biodata.clear() | Menghapus semua key dalam dictionary biodata |
biodata.copy() | Meng-copy keseluruhan key dalam dictionary biodata |
biodata.fromkeys() | Membuat dictionary baru dengan key berdasarkan dictonary biodata |
biodata.get() | Mengembalikan value dari key yang diberikan |
biodata.has_key() | Menghasilkan nilai true jika key ditemukan dalam dictionary, begitupun sebaliknya |
biodata.items() | Menghasilkan item dictionary menjadi (key,value) mirip tuple |
biodata.keys() | Mendapatkan semua key dalam dictionary |
biodata.setdefault() | Sama seperti get(), tapi bisa digunakan untuk men-set semua value untuk setiap key yang baru |
biodata1.update(biodata2) | Menggabungkan dictionary biodata2 dengan biodata1 |
biodata1.values() | Menampilkan semua value dalam dictionary |
Contoh penggunaan method di atas, saya jadikan satu file:
#!/usr/bin/python #membuat dictionary biodata1 = {'Nama': 'Wayan', 'Asal': 'Gianyar', 'Umur': 21, 'NoUrut': 1}; biodata2 = {'Nama': 'Made', 'Asal': 'Denpasar', 'Umur': 23, 'NoUrut': 2}; biodata3 = {'Nama': 'Nyoman', 'Asal': 'Gianyar', 'Umur': 21, 'NoUrut': 3}; biodata4 = {'Nama': 'Wayan', 'Asal': 'Gianyar', 'Umur': 21, 'NoUrut': 1}; temp = ('Nama','Asal','Umur','NoUrut'); biodataBaru = {'JenisKelamin' : 'pria' } #menghapus semua item dictionary biodata1 biodata1.clear() print "Jumlah setelah dihapus : %d" % len(biodata1) #meng-copy dictionary biodata4 ke biodata1 biodata1 = biodata4.copy() print "biodata1 : %s" % str(biodata1) #membuat dictionary baru dari temp biodata5 = biodata5.fromkeys(temp) print "Dictionary biodata5 : %s" % str(biodata5) #mengembalikan nilai dari key print "Value : %s" % biodata2.get('NoUrut') #mengecek key dari dictionary print "Value : %s" % biodata2.has_key('Nama') #merubah item menjadi list print "Value : %s" % biodata2.items() #menampilkan semua key print "Key : %s" % biodata3.keys() #menambah item dengan default value print "Item baru : %s" % biodata4.setdefault('Hobi', None) #mengupdate dictionary biodata4.update(biodataBaru) print "Update biodata4 : %s" % biodata4 #menampilkan semua value dari dictionary print "Semua value : %s" % biodata4.values()
Semoga bermanfaat š
Terima kasih