Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - แปลงพจนานุกรมแบบแบนเป็นพจนานุกรมที่ซ้อนกัน


พจนานุกรม Python มีคีย์และค่าต่างๆ หากเรามีพจนานุกรมตั้งแต่สองพจนานุกรมขึ้นไปเพื่อรวมพจนานุกรมที่ซ้อนกัน เราสามารถใช้วิธีด้านล่างนี้ ในปีนี้ พจนานุกรมจะได้รับพร้อมกับคีย์ใหม่ที่จะกลายเป็นคีย์ในพจนานุกรมที่ซ้อนกัน

การกำหนดคีย์

ในแนวทางนี้ เราจะสร้างพจนานุกรมเปล่าขึ้นมาใหม่ จากนั้นกำหนดพจนานุกรมที่กำหนดให้กับแต่ละคีย์ใหม่ พจนานุกรมที่ได้จะเป็นพจนานุกรมแบบซ้อนซึ่งมีคีย์ที่กำหนด

ตัวอย่าง

dictA ={'Sun':1, 'Mon':2}dictB ={'Tue':3, 'Sun':5}# Given Dictionariesprint("DictA :",dictA)print("DictB:" ,dictB)# การใช้การเข้าถึงคีย์และ dict()res =dict()res['Netsed_dict_1'] =dictAres['Netsed_dict_2'] =dictB# การพิมพ์ผลการพิมพ์ ("พจนานุกรม Netsed:\n" ,res)

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

ผลลัพธ์

DictA :{'Sun':1 'Mon':2}DictB:{'Tue':3 'Sun':5}พจนานุกรม Netsed:{'Netsed_dict_1':{'Sun':1, 'Mon ':2}, 'Netsed_dict_2':{'อังคาร':3, 'อาทิตย์':5}}

การใช้ซิป

ฟังก์ชัน Jeep สามารถแปลงคีย์และพจนานุกรมเป็น Tuple จากนั้นเราใช้ฟังก์ชัน dict เพื่อให้ได้ผลลัพธ์สุดท้ายซึ่งเป็นพจนานุกรมที่ประกอบด้วยคีย์ใหม่และพจนานุกรมอินพุต

ตัวอย่าง

dictA ={'Sun':1, 'Mon':2}dictB ={'Tue':3, 'Sun':5}# Given Dictionariesprint("DictA :",dictA)print("DictB:" ,dictB)# ใช้ zipdict_keys =['Netsed_dict_1','Netsed_dict_2']all_dicts =[dictA,dictB]res =dict(zip(dict_keys,all_dicts))# พิมพ์ผลการพิมพ์ ("พจนานุกรม Netsed:\n" ,res) 

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

ผลลัพธ์

DictA :{'Sun':1 'Mon':2}DictB:{'Tue':3 'Sun':5}พจนานุกรม Netsed:{'Netsed_dict_1':{'Sun':1, 'Mon ':2}, 'Netsed_dict_2':{'อังคาร':3, 'อาทิตย์':5}}