ในบทความนี้ เราจะเรียนรู้วิธีสร้างพจนานุกรมจากคอลเล็กชัน python อื่นที่ใช้บ่อย ได้แก่ list ดัชนีหรือคีย์ไม่ได้เป็นส่วนหนึ่งของเนื้อหารายการ แต่ในพจนานุกรม เราจำเป็นต้องมีคีย์หรือดัชนีติดอยู่กับทุกองค์ประกอบที่เรียกว่าค่า
การใช้การแจงนับ
ฟังก์ชันแจกแจงเพิ่มตัวนับเป็นคีย์ของวัตถุแจกแจง ดังนั้นเราจึงนำไปใช้กับรายการที่กำหนดและใช้ for loop ที่สร้างพจนานุกรมที่จำเป็นซึ่งคีย์จะถูกสร้างขึ้นโดยฟังก์ชันการแจงนับ
ตัวอย่าง
Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11] # Given list print("Given list : " , Alist) # Converting to DIctionary NewDict = {val: key + 1 for key, val in enumerate(Alist)} # print result print("Dictionary created with index : ",NewDict)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11] Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}
โปรดทราบว่าเมื่อมีองค์ประกอบที่ซ้ำกัน มีเพียงองค์ประกอบเหล่านั้นเท่านั้นที่จะแสดงค่าดัชนีที่สูงกว่าจากองค์ประกอบที่ซ้ำกัน
การใช้ zip และ range
อีกวิธีหนึ่งคือการใช้ฟังก์ชัน range เพื่อสร้างคีย์โดยเริ่มจาก 1 และขึ้นไปตามความยาวของรายการที่ให้มา สุดท้าย เราใช้ฟังก์ชัน dict เพื่อสร้างพจนานุกรม
ตัวอย่าง
Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11] # Given list print("Given list : " , Alist) # Converting to DIctionary NewDict = dict(zip(Alist, range(1, len(Alist)+1))) # print result print("Dictionary created with index : ",NewDict)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11] Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}