Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Chuyển từ điển phẳng thành từ điển lồng nhau


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