Từ điển Python có khóa và giá trị. Khi cần gộp nhiều từ điển thành một từ điển lồng nhau, ta có thể dùng các cách sau. Các từ điển đầu vào kèm theo khóa mới sẽ thành khóa của từ điển lồng nhau.
Gán khóa trực tiếp
Tạo từ điển rỗng, gán từng từ điển đầu vào cho khóa mới tương ứng.
Ví dụ
dictA = {'Sun': 1, 'Mon': 2}
dictB = {'Tue': 3, 'Sun': 5}
print("DictA :", dictA)
print("DictB:", dictB)
res = dict()
res['Nested_dict_1'] = dictA
res['Nested_dict_2'] = dictB
print("Nested Dictionary:\n", res)
Kết quả:
Đầu ra
DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Nested Dictionary:
{'Nested_dict_1': {'Sun': 1, 'Mon': 2}, 'Nested_dict_2': {'Tue': 3, 'Sun': 5}}
Sử dụng zip
Hàm zip ghép cặp khóa và từ điển thành tuple, sau đó dict() chuyển thành từ điển lồng nhau.
Ví dụ
dictA = {'Sun': 1, 'Mon': 2}
dictB = {'Tue': 3, 'Sun': 5}
dict_keys = ['Nested_dict_1', 'Nested_dict_2']
all_dicts = [dictA, dictB]
res = dict(zip(dict_keys, all_dicts))
print("Nested Dictionary:\n", res)
Kết quả:
Đầu ra
Nested Dictionary:
{'Nested_dict_1': {'Sun': 1, 'Mon': 2}, 'Nested_dict_2': {'Tue': 3, 'Sun': 5}}