Di artikel ini, Anda akan belajar tentang kamus bersarang dengan Python. Lebih khusus lagi, Anda akan belajar membuat kamus bersarang, mengakses elemen, memodifikasinya, dan sebagainya dengan bantuan contoh.
Di Python, kamus adalah kumpulan item yang tidak berurutan. Sebagai contoh:
kamus = ('key': 'value', 'key_2': 'value_2')
Di sini, kamus memiliki key:value
pasangan yang diapit dalam tanda kurung kurawal ()
.
Untuk mempelajari lebih lanjut tentang kamus, silakan kunjungi Kamus Python.
Apa itu Kamus Bersarang dengan Python?
Di Python, kamus bersarang adalah kamus di dalam kamus. Ini adalah kumpulan kamus menjadi satu kamus tunggal.
nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))
Di sini, nested_dict adalah kamus bertingkat dengan kamus dictA
dan dictB
. Mereka adalah dua kamus yang masing-masing memiliki kunci dan nilai sendiri.
Buat Kamus Bersarang
Kami akan membuat kamus orang dalam kamus.
Contoh 1: Cara membuat kamus bertingkat
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Ketika kami menjalankan program di atas, itu akan menampilkan:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Perempuan'))
Dalam program di atas, orang adalah kamus bersarang. Kamus internal 1
dan 2
ditugaskan untuk orang. Di sini, kedua kamus memiliki kunci name
, age
, sex
dengan nilai yang berbeda. Sekarang, kami mencetak hasil orang.
Mengakses elemen Kamus Bersarang
Untuk mengakses elemen kamus bersarang, kami menggunakan ()
sintaks pengindeksan dengan Python.
Contoh 2: Akses elemen menggunakan sintaks ()
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people(1)('name')) print(people(1)('age')) print(people(1)('sex'))
Ketika kami menjalankan program di atas, itu akan menampilkan:
Yohanes 27 Pria
Dalam program di atas, kami mencetak nilai kunci name
menggunakan ie people(1)('name')
dari kamus internal 1
. Demikian pula, kami mencetak nilai age
dan sex
satu per satu.
Tambahkan elemen ke Kamus Bersarang
Contoh 3: Bagaimana cara mengubah atau menambahkan elemen dalam kamus bersarang?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) people(3) = () people(3)('name') = 'Luna' people(3)('age') = '24' people(3)('sex') = 'Female' people(3)('married') = 'No' print(people(3))
Ketika kami menjalankan program di atas, itu akan menampilkan:
('name': 'Luna', 'age': '24', 'sex': 'Female', 'menikah': 'Tidak')
Dalam program di atas, kami membuat kamus kosong 3
di dalam kamus orang.
Kemudian, kami menambahkan key:value
pasangan ie people(3)('Name') = 'Luna'
di dalam kamus 3
. Demikian pula, kami melakukan ini untuk kunci age
, sex
dan married
satu per satu. Saat kami mencetak people(3)
, kami mendapatkan key:value
sepasang kamus 3
.
Contoh 4: Tambahkan kamus lain ke kamus bertingkat
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No')) people(4) = ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes') print(people(4))
Ketika kami menjalankan program di atas, itu akan menampilkan:
('name': 'Peter', 'age': '29', 'sex': 'Male', 'menikah': 'Ya')
Dalam program di atas, kami menetapkan literal kamus ke people(4)
. Literal memiliki kunci name
, age
dan sex
dengan nilai masing-masing. Kemudian kami mencetak people(4)
, untuk melihat bahwa kamus 4
ditambahkan dalam kamus bersarang orang.
Hapus elemen dari Kamus Bersarang
Di Python, kami menggunakan pernyataan "del" untuk menghapus elemen dari kamus bertingkat.
Contoh 5: Bagaimana cara menghapus elemen dari kamus bersarang?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes')) del people(3)('married') del people(4)('married') print(people(3)) print(people(4))
Ketika kami menjalankan program di atas, itu akan menampilkan:
('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')
Dalam program di atas, kami menghapus key:value
pasangan dari married
kamus internal 3
dan 4
. Kemudian, kami mencetak people(3)
dan people(4)
untuk mengonfirmasi perubahan.
Contoh 6: Bagaimana cara menghapus kamus dari kamus bersarang?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male')) del people(3), people(4) print(people)
Ketika kami menjalankan program di atas, itu akan menampilkan:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Perempuan'))
Dalam program di atas, kami menghapus kamus internal 3
dan 4
menggunakan del
dari kamus bersarang orang. Kemudian, kami mencetak kamus bersarang orang untuk mengonfirmasi perubahan.
Iterasi Melalui Kamus Bersarang
Dengan menggunakan for loop, kita dapat melakukan iterasi melalui setiap elemen dalam kamus bertingkat.
Example 7: How to iterate through a Nested dictionary?
people = (1: ('Name': 'John', 'Age': '27', 'Sex': 'Male'), 2: ('Name': 'Marie', 'Age': '22', 'Sex': 'Female')) for p_id, p_info in people.items(): print("Person ID:", p_id) for key in p_info: print(key + ':', p_info(key))
When we run above program, it will output:
Person ID: 1 Name: John Age: 27 Sex: Male Person ID: 2 Name: Marie Age: 22 Sex: Female
In the above program, the first loop returns all the keys in the nested dictionary people. It consist of the IDs p_id of each person. We use these IDs to unpack the information p_info of each person.
The second loop goes through the information of each person. Then, it returns all of the keys name
, age
, sex
of each person's dictionary.
Now, we print the key of the person’s information and the value for that key.
Key Points to Remember:
- Nested dictionary is an unordered collection of dictionary
- Slicing Nested Dictionary is not possible.
- We can shrink or grow nested dictionary as need.
- Like Dictionary, it also has key and value.
- Kamus diakses menggunakan kunci.