Computer >> Máy Tính >  >> Lập trình >> Python

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

Từ điển Python có các khóa và giá trị. Nếu chúng ta có hai từ điển trở lên được hợp nhất thành một từ điển lồng nhau, thì chúng ta có thể thực hiện các phương pháp dưới đây. Năm nay, các từ điển được cung cấp cùng với các khóa mới sẽ trở thành một khóa trong từ điển lồng nhau.

Gán khóa

Trong cách tiếp cận này, chúng tôi sẽ tạo một từ điển trống mới. Sau đó, gán các từ điển đã cho cho mỗi khóa mới. Từ điển kết quả sẽ là một từ điển lồng nhau với các khóa được gán.

Ví dụ

 dictA ={'Sun':1, 'Mon':2} dictB ={'Tue':3, 'Sun':5} # Given Dictionariesprint ("DictA:", dictA) print ("DictB:" , dictB) # Sử dụng quyền truy cập khóa và dict () res =dict () res ['Netsed_dict_1'] =dictAres ['Netsed_dict_2'] =dictB # in kết quả ("Netsed Dictionary:\ n", res) 

Chạy đoạn mã trên cho chúng ta kết quả sau -

Đầu ra

 DictA:{'Sun':1, 'Mon':2} DictB:{'Tue':3, 'Sun':5} Netsed Dictionary:{'Netsed_dict_1':{'Sun':1, 'Mon ':2},' Netsed_dict_2 ':{' Tue ':3,' Sun ':5}} 

Sử dụng zip

Chức năng Jeep có thể chuyển đổi chìa khóa và từ điển thành Tuple. Sau đó, chúng tôi áp dụng hàm dict để nhận được kết quả cuối cùng là một từ điển chứa các khóa mới cũng như các từ điển đầu vào.

Ví dụ

 dictA ={'Sun':1, 'Mon':2} dictB ={'Tue':3, 'Sun':5} # Given Dictionariesprint ("DictA:", dictA) print ("DictB:" , dictB) # Sử dụng zipdict_keys =['Netsed_dict_1', 'Netsed_dict_2'] all_dicts =[dictA, dictB] res =dict (zip (dict_keys, all_dicts)) # print resultprint ("Từ điển Netsed:\ n", res)  

Chạy đoạn mã trên cho chúng ta kết quả sau -

Đầu ra

 DictA:{'Sun':1, 'Mon':2} DictB:{'Tue':3, 'Sun':5} Netsed Dictionary:{'Netsed_dict_1':{'Sun':1, 'Mon ':2},' Netsed_dict_2 ':{' Tue ':3,' Sun ':5}}