Panduan ini mengajarkan Anda cara mengakses kamus bersarang dengan Python. Selain itu, Anda belajar cara membuat kamus bersarang, mengakses elemen, dan memodifikasinya. Saya telah menyertakan banyak contoh berguna dan berbagai skenario yang mungkin Anda perlukan untuk melakukan ini
Apa itu Kamus dengan Python?
Dan jika Anda baru mengenal kamus, kamus adalah kumpulan item berlabel yang tidak diurutkan
student = {'name' : 'Alice', 'age': '23'}Kamus “satu dimensi” tradisional memiliki pasangan kunci-nilai seperti yang disorot di atas. Kuncinya adalah label dari nilai yang dirujuknya
Misalnya, Anda bisa mendapatkan nama dan usia siswa di kamus di atas dengan mengaksesnya menggunakan tombol
name = student["name"] age = student["age"]_Oke, itu hanya ringkasan singkat tentang cara kerja kamus Python dan cara mengakses nilainya
Apa itu Kamus Bersarang?
Kata "bersarang" mengacu pada objek serupa yang ditempatkan di dalam satu sama lain. Kamus bersarang dengan Python berarti menempatkan kamus di dalam kamus
Misalnya, berikut adalah kamus siswa bertingkat yang terdiri dari data dari beberapa siswa yang dikaitkan dengan ID siswa tiga digit
students = { 123: {'name' : 'Alice', 'age': '23'}, 321: {'name' : 'Bob', 'age': '34'} }Disini siswa adalah kamus kamus dimana ID siswa adalah kunci dan kamus data siswa adalah nilai
Bagaimana Cara Mengakses Elemen Kamus Bersarang?
Untuk mengakses nilai kamus bersarang di Python, Anda harus melakukannya
- Akses kamus di dalam kamus dengan kuncinya
- Akses nilai kamus yang diakses dengan kunci terkait
Mari kita lihat cara mengakses nilai kamus siswa bersarang dari bagian sebelumnya
students = { 123: {'name' : 'Alice', 'age': '23'}, 321: {'name' : 'Bob', 'age': '34'} }Untuk memilih siswa dari kamus siswa, seseorang perlu mengetahui ID siswa dari siswa tersebut
Mari kita asumsikan saya adalah Alice yang mencoba mengakses data siswa saya dari database siswa. Saya tahu bahwa ID siswa saya adalah 123. Jadi, saya bisa mengakses kamus dengan nilai itu
alice = students[123] print(alice)_Keluaran
{'name': 'Alice', 'age': '23'}Ini berhasil menampilkan data kamus yang terkait dengan Alice
Untuk mengakses nilai tertentu dalam data, panggil lagi operator pengakses kamus pada kamus data yang diakses
Misalnya, saya hanya ingin memeriksa nama siswa dengan ID 123
name = students[123]['name'] print(name)_Keluaran
AliceSeperti yang Anda lihat, pada kode di atas, pertama-tama saya mengakses data kamus yang terkait dengan ID 123. Karena nilai ini juga merupakan kamus, saya dapat terus mengakses nilainya dengan cara yang sama
Tentu saja, Anda dapat membagi prosesnya sedemikian rupa
- Akses kamus dalam dan simpan dalam variabel
- Akses nilai variabel kamus dalam dan simpan di variabel lain
Contohnya
Alice0Keluaran
AliceAkses Kamus Bersarang Lebih Aman
Sejauh ini Anda telah melihat cara mengakses nilai kamus tanpa memikirkan apa yang terjadi jika kunci tidak ada
Mari lanjutkan eksplorasi dengan kamus siswa
students = { 123: {'name' : 'Alice', 'age': '23'}, 321: {'name' : 'Bob', 'age': '34'} }Penting untuk dipahami bahwa pada contoh sebelumnya Anda menganggap kuncinya ada di kamus seperti ini
Tapi mari kita lihat apa yang terjadi jika tidak demikian
Misalnya, mari kita coba mencari data siswa dari seorang siswa dengan ID 999
Alice3Ini menghasilkan kesalahan yang merusak program
Alice4Jika seseorang secara tidak sengaja memasukkan nilai yang salah di kamus, Anda tidak ingin seluruh program macet
Untuk mencegahnya, Anda bisa menggunakan kamus. metode get() untuk mengakses nilai dengan lebih aman. Jika kunci yang diteruskan ke fungsi ini tidak ada, program tidak macet
Sebagai contoh
Alice5Keluaran
Alice6Seperti yang Anda lihat, hasilnya adalah Tidak ada, bukan kesalahan. Ini jauh lebih baik daripada merusak program
Untuk mengakses kamus bersarang dengan cara yang lebih aman ini
- Panggil kamus. metode get() pada kamus bersarang untuk mengakses kamus dalam
- Gunakan if-else untuk memastikan kamus yang dikembalikan tidak ada
- Panggil kamus. get() pada kamus dalam untuk mendapatkan nilai yang sesuai
Ini sebuah contoh
Alice7Keluaran
Alice_8Karena tidak ada kunci 999 di kamus siswa, kamus dalam yang dikembalikan adalah Tidak Ada. Jadi, hanya blok else yang dieksekusi
Sebagai referensi, pastikan kode ini juga berfungsi saat kuncinya ada
Alice_9Keluaran
AliceSeperti yang Anda lihat, ini adalah cara yang lebih aman untuk mengakses nilai kamus bersarang. Apakah nilainya ada atau tidak, program tidak macet karena kesalahan
Bagaimana Cara Menambahkan Nilai ke Kamus Bersarang?
Untuk memperkenalkan nilai baru ke kamus bersarang, Anda perlu menggunakan operator akses kamus sekali lagi
Misalnya, mari tambahkan kunci hobi baru ke salah satu objek siswa di kamus siswa
student = {'name' : 'Alice', 'age': '23'}_1Keluaran
Perhatikan bahwa contoh ini hanya berfungsi jika kunci 123 ada. Jika tidak, program akan macet. Jadi pastikan untuk memeriksa kuncinya ada di kamus sebelum menambahkan nilai ke dalamnya
student = {'name' : 'Alice', 'age': '23'}_3Bagaimana Cara Menghapus Nilai dari Kamus Bersarang?
Menghapus nilai dari kamus bersarang tidak berbeda dengan menghapus nilai dari kamus satu dimensi. Yang perlu Anda lakukan hanyalah mengakses nilainya dan memanggil operator del di atasnya
Misalnya, mari kita hapus nama siswa dengan ID 123
student = {'name' : 'Alice', 'age': '23'}_4Keluaran
student = {'name' : 'Alice', 'age': '23'}5Bagaimana Cara Menambahkan Kamus Lain ke Kamus Bersarang?
Menambahkan kamus baru di kamus bersarang tidak berbeda dengan menambahkan nilai baru ke kamus biasa. Alih-alih menambahkan satu nilai ke kunci, Anda menambahkan seluruh kamus
Untuk menambahkan pasangan nilai kunci baru ke kamus, gunakan operator akses kamus. Lewati operator akses kunci baru sebagai argumen dan berikan nilai padanya
Misalnya, mari tambahkan kamus siswa baru ke kamus siswa
student = {'name' : 'Alice', 'age': '23'}_6Keluaran
student = {'name' : 'Alice', 'age': '23'}_7Sekarang ada tiga siswa di kamus
Bagaimana Mengulang Melalui Kamus Bersarang?
Sekali lagi, tidak ada yang rumit saat mengulang kamus kamus
Untuk mengulangi kamus dengan Python, gunakan kamus. item() untuk mengonversi kamus dalam format yang dapat diubah. Kemudian tetapkan kunci dan nilai ke variabel sementara
Misalnya, mari cetak nama kamus siswa
student = {'name' : 'Alice', 'age': '23'}_8Keluaran
student = {'name' : 'Alice', 'age': '23'}_9Kesimpulan
Hari ini Anda belajar cara mengakses kamus di dalam kamus. Dengan kata lain, Anda belajar cara bekerja dengan kamus bersarang
Singkatnya, kamus bersarang adalah nama yang digunakan untuk merujuk ke kamus yang nilainya juga kamus
Untuk mengakses kamus bersarang ini di dalam kamus, aturan pengaksesan kamus yang sama berlaku