Python Nested Dictionary (Dengan Contoh)

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:valuepasangan 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 dictAdan 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 1dan 2ditugaskan untuk orang. Di sini, kedua kamus memiliki kunci name, age, sexdengan 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 namemenggunakan ie people(1)('name')dari kamus internal 1. Demikian pula, kami mencetak nilai agedan sexsatu 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 3di dalam kamus orang.

Kemudian, kami menambahkan key:valuepasangan ie people(3)('Name') = 'Luna'di dalam kamus 3. Demikian pula, kami melakukan ini untuk kunci age, sexdan marriedsatu per satu. Saat kami mencetak people(3), kami mendapatkan key:valuesepasang 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, agedan sexdengan nilai masing-masing. Kemudian kami mencetak people(4), untuk melihat bahwa kamus 4ditambahkan 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:valuepasangan dari marriedkamus internal 3dan 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 3dan 4menggunakan deldari 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:

  1. Nested dictionary is an unordered collection of dictionary
  2. Slicing Nested Dictionary is not possible.
  3. We can shrink or grow nested dictionary as need.
  4. Like Dictionary, it also has key and value.
  5. Kamus diakses menggunakan kunci.

Artikel yang menarik...