Python - 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: unhashable type: 'list'

Fungsi & Metode Kamus Bawaan

Python menyertakan fungsi kamus berikut -

Sr.No. Fungsi dengan Deskripsi
1 cmp (dict1, dict2)

Membandingkan elemen dari kedua dict.

2 len (dikt)

Memberikan panjang total kamus. Ini akan sama dengan jumlah item dalam kamus.

3 str (dikt)

Menghasilkan representasi string kamus yang dapat dicetak

4 jenis (variabel)

Mengembalikan jenis variabel yang diteruskan. Jika variabel yang dilewatkan adalah kamus, maka itu akan mengembalikan tipe kamus.

Python menyertakan metode kamus berikut -

Sr.No. Metode dengan Deskripsi
1 dict.clear ()

Menghapus semua elemen dari kamus dikt

2 dict.copy ()

Mengembalikan salinan dikt kamus dangkal

3 dict.fromkeys ()

Buat kamus baru dengan kunci dari seq dan nilai yang disetel ke nilai .

4 dict.get (key, default = None)

Untuk key key, mengembalikan nilai atau default jika key tidak ada dalam kamus

5 dict.has_key (kunci)

Mengembalikan nilai benar jika kunci dalam kamus dikt , salah jika sebaliknya

6 dict.items ()

Mengembalikan daftar pasangan tupel dict (kunci, nilai)

7 dict.keys ()

Menampilkan daftar kunci kamus dikt

8 dict.setdefault (key, default = None)

Mirip dengan get (), tetapi akan menyetel dict [key] = default jika kunci belum ada di dict

9 dict.update (dict2)

Menambahkan pasangan nilai kunci kamus dict2 ke dict

10 dict.values ​​()

Daftar Pengembalian kamus dict nilai-nilai 's