สมมติว่าคุณมี List และต้องการแปลงเป็น Dictionary ซึ่งแต่ละคีย์จะมีค่าเป็น None เป็นตัวแทนสำรอง (placeholder) โครงสร้าง Dictionary ประกอบด้วยคู่คีย์-ค่า (key-value pair) โดยในที่นี้เราจะใช้ None เป็นค่าสำหรับทุกคีย์
ใช้คอนสตรัคเตอร์ dict.fromkeys()
คอนสตรัคเตอร์ dict() สร้าง Dictionary ใน Python โดยเมธอด fromkeys() ใช้สร้างองค์ประกอบของ Dictionary โดยนำสมาชิกของ List มาเป็นคีย์และกำหนดค่าเป็น None อัตโนมัติ
ตัวอย่าง
listA = ["Mon", "Tue", "Wed", "Thu", "Fri"]
print("List ที่กำหนด: \n", listA)
res = dict.fromkeys(listA) # สร้าง Dictionary ใหม่
print("Dictionary ที่ได้:\n", res)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้ −
List ที่กำหนด: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Dictionary ที่ได้: {'Mon': None, 'Tue': None, 'Wed': None, 'Thu': None, 'Fri': None}
ใช้ zip และ dict
เรายังสามารถใช้คอนสตรัคเตอร์ dict ร่วมกับเมธอด zip() เพื่อแปลงแต่ละสมาชิกเป็นคู่คีย์-ค่า
ตัวอย่าง
listA = ["Mon", "Tue", "Wed", "Thu", "Fri"]
print("List ที่กำหนด: \n", listA)
res = dict(zip(listA, [None]*len(listA))) # สร้าง Dictionary ใหม่
print("Dictionary ที่ได้:\n", res)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้ −
List ที่กำหนด: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Dictionary ที่ได้: {'Mon': None, 'Tue': None, 'Wed': None, 'Thu': None, 'Fri': None}
ใช้ Dictionary Comprehension
สร้างลูป for เพื่อวนลูปผ่านแต่ละสมาชิกของ List และกำหนด None เป็นค่าสำหรับแต่ละคีย์
ตัวอย่าง
listA = ["Mon", "Tue", "Wed", "Thu", "Fri"]
print("List ที่กำหนด: \n", listA)
res = {key: None for key in listA} # สร้าง Dictionary ใหม่
print("Dictionary ที่ได้:\n", res)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้ −
List ที่กำหนด: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Dictionary ที่ได้: {'Mon': None, 'Tue': None, 'Wed': None, 'Thu': None, 'Fri': None}