10 Metode Kamus Python yang Berguna

Apakah Anda ingin mempelajari cara bekerja dengan kamus Python? Tutorial ini akan mencakup metode kamus Python untuk membaca, memodifikasi, dan melakukan operasi umum lainnya pada kamus Python.

Kami akan mulai dengan meninjau dasar-dasar kamus Python dan kemudian membuat kamus contoh dan memodifikasinya menggunakan metode kamus Python.

Mari kita mulai…

Gambaran Umum Kamus Python

Kamus adalah struktur data bawaan di Python. Ini memungkinkan Anda menyimpan item dalam key-value pair—mendefinisikan asosiasi atau pemetaan antara kunci dan nilai.

Kunci dalam kamus harus unik (agar bisa hashable). Anda dapat menggunakan kunci untuk mencari nilai atau menggunakan metode bawaan (Anda akan segera mempelajarinya).

Saat membuat kamus Python, Anda dapat menginisialisasi semua pasangan nilai kunci atau menginisialisasi kamus kosong dan kemudian menambahkan pasangan nilai kunci.

>>> dict1 = {'language':'Python','like':True}
>>> type(dict1)
<class 'dict'>

# or we can do the following:

>>> dict1 = {}
>>> dict1['language']='Python'
>>> dict1['like']=True

Metode Kamus Python untuk Operasi Umum

Catatan: Untuk mengikuti contoh kode, Anda harus menginstal Python 3.7 atau versi yang lebih baru.

Anda dapat membuat kode dalam Python REPL. Atau ikuti di editor Python online techking.id.

>>> person = {'name':'Alice',
...           'city':'Portland',
...           'interest':'Programming',
...           'profession':'Developer'
...           }

Sekarang setelah kita menginisialisasi kamus Python, mari mulai membahas berbagai metode kamus.

Dapatkan Kunci Kamus dengan keys()

Salah satu operasi umum saat bekerja dengan kamus Python adalah mengakses semua pasangan kunci, nilai, dan nilai kunci. Untuk mendapatkan kunci kamus, Anda dapat memanggil metode keys() seperti yang ditunjukkan:

>>> person.keys()
dict_keys(['name', 'city', 'interest', 'profession'])

Dapatkan Nilai Kamus dengan values()

Metode values() mengembalikan semua nilai dan berguna saat Anda ingin memproses nilai ini lebih lanjut.

Mari akses semua nilai dalam kamus orang:

>>> person.values()
dict_values(['Alice', 'Portland', 'Programming', 'Developer'])

Dapatkan Pasangan Nilai-Kunci dengan item()

Metode items() mengembalikan daftar tupel nilai kunci. Oleh karena itu, memanggil metode ini pada kamus orang mengembalikan daftar tupel nilai kunci:

>>> person.items()
dict_items([('name', 'Alice'), ('city', 'Portland'), ('interest', 'Programming'), 
           ('profession', 'Developer')])

Dapatkan Salinan Dangkal dengan copy()

Metode copy() mengembalikan salinan kamus Python yang dangkal.

>>> person_cpy = person.copy()

Di sini, person_cpy adalah salinan dangkal dari kamus person. Mari kita ubah salinan ini dengan memperbarui kunci ‘nama’ menjadi ‘Bob’.

>>> person_cpy['name'] = 'Bob'
>>> person_cpy

Sekarang jika Anda memeriksa isi kamus, Anda dapat melihat bahwa ‘nama’ telah diperbarui menjadi ‘Bob’.

{
 'name': 'Bob', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer'
}

Namun, kamus orang asli belum dimodifikasi.

>>> person
{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer'
}

Tetapkan Nilai Default dengan setdefault()

Saat bekerja dengan kamus Python, umum terjadi pengecualian KeyError jika kuncinya tidak ada dalam kamus. Berikut adalah contoh saat kami mencoba mengakses kunci ‘usia’:

>>> person['age']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'age'

Anda dapat menghindari kesalahan tersebut dengan menggunakan metode bawaan setdefault() dan metode get() alih-alih mengakses nilai seperti di atas.

  7 Pembuat Flowchart Cerdas untuk Membuat Proses, Diagram, dan Lainnya

Metode setdefault(key) mengembalikan dict[‘key’] jika kuncinya ada di dict.

>>> person.setdefault('name')
'Alice'

Saat kunci tidak ada, ia menambahkan kunci ke kamus dengan nilai default Tidak ada.

>>> person.setdefault('address')
>>> person

Di sini, kunci ‘alamat’ tidak ada di kamus orang. Tetapi kami melihat bahwa itu telah ditambahkan dengan nilai default Tidak ada.

{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': None 
}

Kami sekarang dapat mengatur kunci ‘alamat’ ke beberapa alamat:

>>> person['address'] = "10, xyz street"
>>> person
{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': '10, xyz street' 
}

Anda juga dapat menentukan nilai dalam pemanggilan metode, seperti yang ditunjukkan:

>>> person.setdefault('country','USA')
'USA'
>>> person

Karena kunci ‘negara’ awalnya tidak ada di kamus orang, kami melihat bahwa itu telah ditambahkan dengan ‘USA’ sebagai nilainya.

{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': '10, xyz street', 
 'country': 'USA'
}

Dapatkan Nilai Tertentu dengan get()

Metode get() mengembalikan nilai yang sesuai dengan kunci. Ini juga secara opsional mengambil nilai default lain yang dikembalikan jika kunci tidak ditemukan di kamus.

Saat kami mencoba mengakses nilai kunci ‘nama’, kami mendapatkan ‘Alice’ karena kuncinya ada secara langsung:

>>> person.get('name')
'Alice'

Kamus orang tidak memiliki kunci ‘gpa’. Jadi ketika kami mencoba untuk mendapatkan nilainya, kami tidak mendapatkan apa-apa di Python REPL. Namun, jika Anda mencetak nilainya, Anda akan mendapatkan Tidak Ada.

>>> person.get('gpa')
>>> print(person.get('gpa'))
None

Namun jika Anda memberikan nilai default opsional, kami mendapatkan nilai tersebut alih-alih Tidak Ada.

>>> person.get('gpa','not found')
'not found'

Namun, metode get() tidak menambahkan kunci ‘gpa’ ke kamus.

>>> person
{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': '10, xyz street', 
 'country': 'USA'
}

Memahami setdefault() vs. get()

Meskipun metode setdefault() dan get() dapat digunakan untuk menangani KeyError, mari kita rangkum perbedaan dari apa yang telah kita pelajari:

  • dict.setdefault(key,val) menambahkan kunci dengan val sebagai nilai default. Jika val tidak tersedia, kunci ditambahkan dengan nilai default Tidak ada.
  • dict.get(key,val) mengembalikan nilai yang sesuai dengan kunci dari kamus Python. Jika kunci tidak ada, ia mengembalikan val (jika tersedia) atau Tidak ada—namun tidak menambahkan kunci ke kamus.
  7 Pembuat Flowchart Cerdas untuk Membuat Proses, Diagram, dan Lainnya

Anda juga dapat menggunakan defaultdict di Python untuk menangani KeyErrors dengan lebih baik.

Perbarui Konten Kamus dengan update()

Anda dapat memperbarui kamus Python yang ada menggunakan key-value pair dari kamus lain. Anda juga dapat memperbarui dengan konten iterable Python apa pun menggunakan metode update() .

Mari kita definisikan kamus more_details. Kami kemudian memperbarui kamus orang dengan konten dari kamus more_details:

>>> more_details = {'hobby':'singing', 'likes':'sweets'}
>>> person.update(more_details)

Dari output di bawah ini, kita melihat bahwa tombol ‘hobby’ dan ‘likes’ telah ditambahkan ke kamus orang.

>>> person
{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': '10, xyz street', 
 'country': 'USA', 
 'hobby': 'singing', 
 'likes': 'sweets'
}

Hapus Item yang Ditambahkan Terakhir dengan popitem()

Metode kamus popitem() dapat digunakan untuk menghapus pasangan nilai kunci yang ditambahkan terakhir.

>>> person.popitem()
('likes', 'sweets')

Seperti yang terlihat, memanggil metode popitem() pada kamus orang mengembalikan pasangan nilai kunci (‘suka’, ‘manis’)—item yang ditambahkan terakhir dalam kamus.

Itu juga menghapus pasangan kunci-nilai. Anda dapat mengonfirmasi ini dengan memeriksa isi kamus:

>>> person
{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': '10, xyz street', 
 'country': 'USA', 
 'hobby': 'singing'
}

Hapus Item Kamus dengan pop()

Kita tahu bahwa metode kamus popitem() menghapus dan mengembalikan pasangan nilai kunci terakhir dalam kamus Python. Namun, terkadang kami mungkin perlu menghapus item lain—selain pasangan nilai kunci yang ditambahkan terakhir juga.

Untuk melakukan ini, kita dapat menggunakan metode kamus Python pop(): menggunakan .pop(key) pada kamus mengembalikan nilai yang sesuai dengan kunci dan juga menghapus pasangan kunci-nilai dari kamus.

  Cara Mengganti nama file di Direktori Tujuan

Berikut contohnya:

>>> person.pop('hobby')
'singing'

Saat kami memunculkan item yang sesuai dengan kunci ‘hobi’, kami melihat bahwa itu tidak lagi ada di kamus.

>>> person
{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': '10, xyz street', 
 'country': 'USA'
}

Jika kami memasukkan kunci yang tidak ada, kami mengalami pengecualian KeyError, seperti yang ditunjukkan:

>>> person.pop('age')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'age'

Di sini, kami mengalami pengecualian KeyError karena kunci ‘usia’ tidak ada dalam kamus orang.

Tidak seperti metode pop() daftar yang menghapus item terakhir secara default, metode pop() kamus memerlukan kunci. Jika Anda tidak menentukan kunci dalam metode, kami akan mengalami kesalahan.

>>> person.pop()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: pop expected at least 1 argument, got 0

Hapus Semua Item Kamus dengan clear()

Metode kamus pop() dan popitem() menghapus satu pasangan kunci-nilai sekaligus. Jika Anda ingin menghapus semua item dalam kamus, Anda dapat menggunakan metode clear().

>>> person.clear()
>>> person
{}

Seperti yang terlihat, memanggil metode clear() pada kamus orang menghapus semua pasangan kunci-nilai dan kamus orang sekarang kosong.

Ringkasan Metode Kamus Python

Berikut ulasan singkat tentang metode kamus Python yang telah kami pelajari.

MethodSyntaxDescriptionkeys()dict1.keys()Mengembalikan kunci dict1values()dict1.values()Mengembalikan nilai dict1items()dict1.items()Mengembalikan daftar semua pasangan nilai kunci di dict1copy()dict1.copy() Mengembalikan salinan dangkal dari dict1setdefault()dict1.setdefault(key, default_value)– Menambahkan kunci dengan default_value opsional sebagai kunci untuk dict1 (bila tidak ditentukan, nilai defaultnya adalah Tidak ada)
– Mengembalikan dict1[key] jika kuncinya sudah presentget()dict1.get(key,default_value)– Mengembalikan dict1[key] jika kunci ada di dict1; Jika tidak, kembalikan nilai_default
– Jika kunci tidak ada di dict1 dan nilai_default tidak ditentukan, kembalikan Noneupdate()dict1.update(iterable1)Memperbarui dict1 dengan pasangan nilai kunci dari iterable1popitem()dict1.popitem()Menghapus dan mengembalikan pasangan nilai kunci terakhir dari dict1pop()dict1.pop(key)– Menghapus dan mengembalikan nilai yang sesuai dengan kunci: dict1[key]
– Memunculkan KeyError jika kunci tidak ada di dict1clear()dict1.clear()Menghapus semua item dari dict1

Kesimpulan

Anda telah mempelajari cara menggunakan metode umum untuk melakukan operasi baca, perbarui, dan hapus pada kamus Python. Selain itu, Anda juga mempelajari bagaimana metode get() dan setdefault() dapat digunakan untuk menangani pengecualian KeyError dengan mengembalikan nilai default dan menambahkan entri dengan nilai default ke kamus Python. Anda juga dapat mengurutkan kamus Python berdasarkan kunci atau nilai.

Selanjutnya, periksa daftar metode daftar Python yang berguna. Selamat membuat kode!