Python - Tabel Hash

Tabel hash adalah jenis struktur data di mana alamat atau nilai indeks elemen data dihasilkan dari fungsi hash. Itu membuat akses data lebih cepat karena nilai indeks berperilaku sebagai kunci untuk nilai data. Dengan kata lain tabel Hash menyimpan pasangan nilai kunci tetapi kuncinya dihasilkan melalui fungsi hashing.

Jadi fungsi pencarian dan penyisipan elemen data menjadi lebih cepat karena nilai kunci itu sendiri menjadi indeks larik yang menyimpan data.

Di Python, tipe data Dictionary merepresentasikan implementasi tabel hash. Kunci dalam kamus memenuhi persyaratan berikut.

  • Kunci kamus bersifat hash, yaitu dihasilkan oleh fungsi hashing yang menghasilkan hasil unik untuk setiap nilai unik yang diberikan ke fungsi hash.
  • Urutan elemen data dalam kamus tidak tetap.

Jadi kita lihat implementasi tabel hash dengan menggunakan tipe data kamus seperti di bawah ini.

Mengakses Nilai dalam Kamus

Untuk mengakses elemen kamus, Anda dapat menggunakan tanda kurung siku yang sudah dikenal bersama dengan kunci untuk mendapatkan nilainya.

# Declare a dictionary 
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

# Accessing the dictionary with its key
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

Memperbarui Kamus

Anda dapat memperbarui kamus dengan menambahkan entri baru atau pasangan nilai kunci, memodifikasi entri yang ada, atau menghapus entri yang ada seperti yang ditunjukkan di bawah ini dalam contoh sederhana -

# Declare a dictionary
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 -

When the above code is executed, it produces the following result −
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 pernyataan del. -

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 setelah kamus del dict tidak ada lagi -

dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in 
      
        print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable