ในบทความนี้เราจะเรียนรู้วิธีสร้างพจนานุกรมจากคอลเลกชัน Python ที่ใช้บ่อยอีกอย่างคือลิสต์ ดัชนีหรือคีย์ไม่ใช่ส่วนหนึ่งของเนื้อหาลิสต์ แต่ในพจนานุกรมเราต้องมีคีย์หรือดัชนีแนบมากับทุกองค์ประกอบซึ่งเรียกว่า value
ใช้ enumerate
ฟังก์ชัน enumerate เพิ่มตัวนับเป็นคีย์ของ enumerate object ดังนั้นเราใช้กับลิสต์ที่กำหนดและใช้ลูป for นั่นสร้างพจนานุกรมที่ต้องการซึ่งคีย์ถูกสร้างโดยฟังก์ชัน enumerate
ตัวอย่าง
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)
Output
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -
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)
Output
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -
Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11]
Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}