Kamus dengan Python adalah struktur data yang membantu menyimpan pasangan kunci-nilai. Sebelum mengakses nilai yang terkait dengan kunci, kita harus memeriksa apakah kunci tersebut ada di kamus atau tidak, jika tidak, kesalahan yang tidak diinginkan dapat ditemui saat menjalankan program kita
Lingkup Pasal
- Pada artikel ini, kita akan membahas cara-cara berikut untuk memeriksa apakah kuncinya ada di kamus Python menggunakan berbagai metode dan operator
- Kami juga akan melihat perbandingan kinerja untuk cara yang kami diskusikan untuk memeriksa apakah kuncinya ada di kamus Python
Perkenalan
Misalkan Anda memiliki kamus dengan Python [yang pada dasarnya adalah kumpulan pemetaan pasangan kunci-nilai] yang Anda gunakan untuk menyimpan nama siswa di kelas Anda menggunakan nomor gulungan mereka sebagai kunci
Misalnya
: 1601 : Aman Kumar 1602 : Roshni Jain 1603 : Utkarsh Rajput . . . 1699 : Kritika Grover
Sekarang, bayangkan kekuatan siswa di kelas Anda sangat dinamis untuk bulan pertama sejak beberapa siswa meninggalkan mata pelajaran, dan beberapa mengambilnya. Ini karena fasilitas kursus yang santai di universitas Anda. Untuk tujuan kehadiran, Anda ingin memastikan bahwa nomor gulungan yang Anda cari ada di kamus, jika tidak, program Anda akan memberikan kesalahan. Bagaimana cara melakukannya?
Anda dapat melakukan tindakan ini [periksa apakah kuncinya ada di kamus dengan Python] dengan beberapa cara, yang semuanya kami jelaskan di bawah ini
Mengapa Kami Memeriksa Jika Kunci Ada di Kamus Python?
Jika Anda mencoba mengakses kunci dalam kamus yang tidak ada, program Python Anda akan melontarkan pengecualian KeyError. Oleh karena itu, selalu baik untuk memeriksa apakah kunci tersebut ada atau tidak sebelum mengaksesnya. Ini mencegah perilaku yang tidak diinginkan dalam program Python Anda
Metode 1 - Menggunakan pernyataan if-in / di Operator
Anda dapat memeriksa apakah kuncinya ada di kamus dengan Python menggunakan kata kunci Python in. Operator ini mengembalikan True jika kuncinya ada di kamus Python, jika tidak, ia mengembalikan False
Sintaksis
_# dict is some dictionary # tKey is the key to be searched isKeyPresent = tKey in dict
Contoh Kode 1
dict = {1601:"Aman", 1602: "Roshni", 1603: "Utkarsh", 1699:"Kritika"} print["1602 Present? ", 1602 in dict] print["1600 Present? ", 1600 in dict]
Keluaran 1
1602 Present? True 1600 Present? False
Penjelasan 1. Karena 1602 adalah kunci yang valid dalam dict kamus, operator in mengembalikan nilai true. Karena 1600 tidak ada di dict, 1600 di dict dikembalikan salah
Tolong dicatat. Karena nilai balik operator in adalah boolean, ia dapat digunakan dalam pernyataan bersyarat dengan Python. Lihat contoh di bawah ini
Contoh Kode 2
_dict = {1601:"Aman", 1602: "Roshni", 1603: "Utkarsh", 1699:"Kritika"} if 1602 in dict: print["Name:", dict[1602]] else: print["No such student!"]
Keluaran 2
Penjelasan 2. Sejak 1602 di dict mengembalikan true, cabang if dijalankan oleh program. Alternatifnya, jika kunci tidak ada dalam kamus yang diberikan, bagian else akan dieksekusi
Metode 2 - Menggunakan metode get[]
Anda juga dapat menggunakan metode get[] untuk memeriksa apakah kuncinya ada di kamus dengan Python. Jika kuncinya ada, metode get[] akan mengembalikan nilai terkait dari kamus, jika tidak, metode ini akan mengembalikan Tidak Ada [secara default]. Anda dapat menentukan nilai khusus untuk dikembalikan [jika kunci tidak ditemukan] sebagai parameter kedua opsional untuk metode get[]
Sintaksis
# dict is some dictionary # tKey is key to be checked # syntax 1 retVal = dict.get[tKey] # syntax 2 retVal = dict.get[tKey, customValue]
Silakan lihat contoh di bawah ini untuk memahami penggunaan sintaks dengan lebih baik
Contoh Kode 1
_dict = {1601:"Aman", 1602: "Roshni", 1603: "Utkarsh", 1699:"Kritika"} retVal = dict.get[1601] if retVal is not None: print["Studnet Found! Name:", retVal] else: print["No such student!"]
Keluaran
Studnet Found! Name: Aman
Penjelasan. Karena kunci 1601 ada di dict kamus, retVal bukan Tidak ada, melainkan sama dengan nilai yang dipetakan ke 1601, yaitu, Aman
Mari kita lihat contoh kode lain di mana kita menggunakan parameter kedua untuk memeriksa apakah kuncinya ada di kamus dengan Python
Contoh Kode 2
_dict = {1601:"Aman", 1602: "Roshni", 1603: "Utkarsh", 1699:"Kritika"} keyNotFound = "Student Not Found!" retVal = dict.get[1600, keyNotFound] if retVal!=keyNotFound: print["Studnet Found! Name:", retVal] else: print[retVal]
Keluaran
Penjelasan. Karena kunci 1600 tidak ada, nilai yang dikembalikan oleh metode get[] sama dengan variabel keyNotFound, yang kami berikan sebagai parameter kedua ke metode get[]
Metode 3 - Menggunakan metode keys[]
Anda dapat memeriksa apakah ada kunci dalam kamus dengan Python menggunakan metode keys[] dari kelas kamus. Metode keys[] mengembalikan objek tampilan kunci [sesuatu yang mirip dengan koleksi] di mana Anda dapat mencari kunci yang diperlukan menggunakan operator in yang kita lihat sebelumnya
Sintaksis
_# dict is some dictionary # tKey is the key to find allKeys = dict.keys[] if tKey in allKeys: print["Key Found!"] else: print["Key Not Found!"]
Lihat contoh kode di bawah ini untuk pemahaman yang lebih baik tentang cara menggunakan metode keys[] untuk memeriksa apakah ada kunci dalam kamus dengan Python
Contoh Kode 1
_0# dict is some dictionary # tKey is the key to be searched isKeyPresent = tKey in dict
Keluaran
_1# dict is some dictionary # tKey is the key to be searched isKeyPresent = tKey in dict
Penjelasan. Karena 1602 ada di kamus, itu juga akan ada di tampilan yang dikembalikan allKeys. Oleh karena itu, 1602 di allKeys bernilai True, dan cabang if dijalankan. Jika kuncinya tidak ada, cabang else akan dieksekusi
Metode 4 - Menggunakan Operator [] Dengan blok coba-kecuali
Anda dapat memeriksa apakah ada kunci dalam kamus dengan Python menggunakan [] [operator akses indeks] bersama dengan blok coba-kecuali
Jika Anda mencoba mengakses kunci yang tidak ada di kamus Python menggunakan operator [], program akan memunculkan pengecualian KeyError. Tapi kita bisa mengatur situasi itu menggunakan blok coba-kecuali
Sintaksis
_2# dict is some dictionary # tKey is the key to be searched isKeyPresent = tKey in dict
Lihat contoh kode di bawah ini untuk memeriksa apakah kuncinya ada di kamus dengan Python menggunakan [] operator
Contoh Kode 1
_3# dict is some dictionary # tKey is the key to be searched isKeyPresent = tKey in dict
Keluaran
_4# dict is some dictionary # tKey is the key to be searched isKeyPresent = tKey in dict
Penjelasan. Karena kunci yang kami coba akses menggunakan operator [], yaitu 1601, ada di kamus, tidak ada pengecualian yang dilemparkan oleh program. Lihat contoh di bawah untuk kasus ketika kunci tidak ada
Contoh Kode 2
_5# dict is some dictionary # tKey is the key to be searched isKeyPresent = tKey in dict
Keluaran
Penjelasan. Dalam program ini, kami mencoba mengakses kunci yang tidak ada di kamus. Oleh karena itu, program melempar pengecualian KeyError yang ditangkap oleh kecuali blok
Metode 5 - Menggunakan metode setdefault[]
Anda dapat memeriksa apakah ada kunci dalam kamus dengan Python menggunakan metode setdefault[] dari kelas kamus
Metode setdefault[] mengembalikan nilai yang terkait dengan kunci yang dicari jika kunci itu ada. Jika kunci tidak ada, itu akan memasukkan kunci ke dalam kamus dengan nilai yang disediakan [yang, secara default, adalah Tidak Ada] dan mengembalikan nilai tersebut