Từ điển lồng nhau trong Python (Có ví dụ)

Trong bài viết này, bạn sẽ tìm hiểu về từ điển lồng nhau trong Python. Cụ thể hơn, bạn sẽ học cách tạo từ điển lồng nhau, truy cập các phần tử, sửa đổi chúng, v.v. với sự trợ giúp của các ví dụ.

Trong Python, từ điển là một tập hợp các mục không có thứ tự. Ví dụ:

 từ điển = ('key': 'value', 'key_2': 'value_2')

Ở đây, từ điển có một key:valuecặp được đặt trong dấu ngoặc nhọn ().

Để tìm hiểu thêm về từ điển, vui lòng truy cập Từ điển Python.

Từ điển lồng nhau trong Python là gì?

Trong Python, một từ điển lồng nhau là một từ điển bên trong một từ điển. Đó là một tập hợp các từ điển thành một từ điển duy nhất.

 nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))

Ở đây, nested_dict là một từ điển lồng nhau với từ điển dictAdictB. Chúng là hai từ điển, mỗi từ điển có khóa và giá trị riêng.

Tạo từ điển lồng nhau

Chúng tôi sẽ tạo từ điển về mọi người trong một từ điển.

Ví dụ 1: Cách tạo từ điển lồng nhau

 people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)

Khi chúng ta chạy chương trình trên, nó sẽ xuất ra:

 (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Giống cái'))

Trong chương trình trên, mọi người là một từ điển lồng nhau. Từ điển nội bộ 12được giao cho mọi người. Tại đây, cả hai từ điển có chìa khóa name, age, sexvới các giá trị khác nhau. Bây giờ, chúng tôi in kết quả của mọi người.

Truy cập các phần tử của Từ điển lồng nhau

Để truy cập phần tử của từ điển lồng nhau, chúng tôi sử dụng ()cú pháp lập chỉ mục trong Python.

Ví dụ 2: Truy cập các phần tử bằng cú pháp ()

 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'))

Khi chúng ta chạy chương trình trên, nó sẽ xuất ra:

 John 27 Nam

Trong chương trình trên, chúng tôi in giá trị của khóa namebằng cách sử dụng tức là people(1)('name')từ từ điển nội bộ 1. Tương tự, chúng tôi in giá trị của agesextừng cái một.

Thêm phần tử vào Từ điển lồng nhau

Ví dụ 3: Làm thế nào để thay đổi hoặc thêm các phần tử trong từ điển lồng nhau?

 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))

Khi chúng ta chạy chương trình trên, nó sẽ xuất ra:

 ('tên': 'Luna', 'tuổi': '24', 'giới tính': 'Nữ', 'đã kết hôn': 'Không')

Trong chương trình trên, chúng ta tạo một từ điển trống 3bên trong từ điển mọi người.

Sau đó, chúng tôi thêm key:valuecặp tức là people(3)('Name') = 'Luna'bên trong từ điển 3. Tương tự như vậy, chúng tôi làm việc này cho chìa khóa age, sexmarriedtừng người một. Khi chúng tôi in people(3), chúng tôi nhận được key:valuecác cặp từ điển 3.

Ví dụ 4: Thêm từ điển khác vào từ điển lồng nhau

 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))

Khi chúng ta chạy chương trình trên, nó sẽ xuất ra:

 ('tên': 'Peter', 'tuổi': '29', 'giới tính': 'Nam', 'đã kết hôn': 'Có')

Trong chương trình trên, chúng tôi gán một từ điển cho people(4). Các theo nghĩa đen có khóa name, agesexvới giá trị tương ứng. Sau đó, chúng tôi in ra people(4), để thấy rằng từ điển 4được thêm vào những người từ điển lồng nhau.

Xóa các phần tử khỏi Từ điển lồng nhau

Trong Python, chúng tôi sử dụng câu lệnh “del” để xóa các phần tử khỏi từ điển lồng nhau.

Ví dụ 5: Làm thế nào để xóa các phần tử khỏi một từ điển lồng nhau?

 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))

Khi chúng ta chạy chương trình trên, nó sẽ xuất ra:

 ('tên': 'Luna', 'tuổi': '24', 'giới tính': 'Nữ') ('tên': 'Peter', 'tuổi': '29', 'giới tính': 'Nam')

Trong chương trình trên, chúng tôi xóa các key:valuecặp marriedtừ từ điển nội bộ 34. Sau đó, chúng tôi in people(3)people(4)để xác nhận các thay đổi.

Ví dụ 6: Làm cách nào để xóa từ điển khỏi từ điển lồng nhau?

 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)

Khi chúng ta chạy chương trình trên, nó sẽ xuất ra:

 (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Giống cái'))

Trong chương trình trên, chúng tôi xóa cả từ điển nội bộ 34sử dụng deltừ người từ điển lồng nhau. Sau đó, chúng tôi in từ điển lồng nhau mọi người để xác nhận các thay đổi.

Lặp lại qua một từ điển lồng nhau

Sử dụng vòng lặp for, chúng ta có thể lặp lại từng phần tử trong một từ điển lồng nhau.

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. Từ điển được truy cập bằng cách sử dụng phím.

thú vị bài viết...