Python - Kamus
Dalam Kamus, setiap kunci dipisahkan dari nilainya dengan titik dua (:), item dipisahkan dengan koma, dan semuanya diapit oleh tanda kurung kurawal. Kamus kosong tanpa item apa pun ditulis hanya dengan dua tanda kurung kurawal, seperti ini: {}.
Kunci dalam kamus unik sementara nilainya mungkin tidak. Nilai kamus bisa dari tipe apa saja, tapi kuncinya harus dari tipe data yang tidak berubah seperti string, angka, atau tupel.
Mengakses Nilai dalam Kamus
Untuk mengakses elemen kamus, Anda dapat menggunakan tanda kurung siku yang sudah dikenal bersama dengan kunci untuk mendapatkan nilainya. Berikut adalah contoh sederhana -
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
dict['Name']: Zara
dict['Age']: 7
Jika kami mencoba mengakses item data dengan kunci, yang bukan bagian dari kamus, kami mendapatkan kesalahan sebagai berikut -
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
dict['Alice']:
Traceback (most recent call last):
File "test.py", line 4, in <module>
print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'
Memperbarui Kamus
Anda dapat memperbarui kamus dengan menambahkan entri baru atau pasangan nilai kunci, memodifikasi entri yang sudah ada, atau menghapus entri yang sudah ada seperti yang ditunjukkan di bawah ini dalam contoh sederhana -
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
dict['Age']: 8
dict['School']: DPS School
Hapus Elemen Kamus
Anda dapat menghapus elemen kamus satu per satu atau menghapus seluruh konten kamus. Anda juga dapat menghapus seluruh kamus dalam satu operasi.
Untuk menghapus seluruh kamus secara eksplisit, cukup gunakan delpernyataan. Berikut adalah contoh sederhana -
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear(); # remove all entries in dict
del dict ; # delete entire dictionary
print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']
Ini menghasilkan hasil sebagai berikut. Perhatikan bahwa pengecualian dimunculkan karena setelahdel dict kamus tidak ada lagi -
dict['Age']:
Traceback (most recent call last):
File "test.py", line 8, in <module>
print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
Note - Metode del () dibahas di bagian selanjutnya.
Properti Kunci Kamus
Nilai kamus tidak memiliki batasan. Mereka dapat berupa objek Python sembarang, baik objek standar atau objek yang ditentukan pengguna. Namun, hal yang sama tidak berlaku untuk kunci.
Ada dua hal penting yang perlu diingat tentang kunci kamus -
(a)Lebih dari satu entri per kunci tidak diperbolehkan. Artinya, tidak ada kunci duplikat yang diperbolehkan. Saat kunci duplikat ditemukan selama penugasan, penugasan terakhir menang. Misalnya -
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict['Name']: ", dict['Name']
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
dict['Name']: Manni
(b)Kunci harus tetap. Yang berarti Anda dapat menggunakan string, angka atau tupel sebagai kunci kamus tetapi sesuatu seperti ['key'] tidak diperbolehkan. Berikut adalah contoh sederhana -
#!/usr/bin/python
dict = {['Name']: 'Zara', 'Age': 7}
print "dict['Name']: ", dict['Name']
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
Traceback (most recent call last):
File "test.py", line 3, in <module>
dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable