Python ให้ความยืดหยุ่นมากในการจัดการโครงสร้างข้อมูลต่างๆ อาจมีความจำเป็นที่ต้องแปลงโครงสร้างข้อมูลหนึ่งเป็นอีกอย่างหนึ่งเพื่อการใช้งานหรือการวิเคราะห์ที่ดีกว่า ในบทความนี้เราจะมาดูวิธีแปลงเซต (set) ของ Python เป็นพจนานุกรม (dictionary)
ใช้ zip และ dict
ฟังก์ชัน dict() สามารถรับพารามิเตอร์อินพุตและแปลงเป็นพจนานุกรม เรายังใช้ฟังก์ชัน zip เพื่อจับคู่คีย์และค่าด้วยกันซึ่งจะกลายเป็นคู่คีย์-ค่าในพจนานุกรม
ตัวอย่าง
list_keys = {1, 2, 3, 4}
list_values = {'Mon', 'Tue', 'Wed', 'Thu'}
new_dict = dict(zip(list_keys, list_values))
print(new_dict)
print(type(new_dict))
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้ −
{1: 'Mon', 2: 'Tue', 3: 'Thu', 4: 'Wed'}
ใช้ dict.fromkeys
เมื่อเราต้องการพจนานุกรมที่มีคีย์ต่างกันแต่ค่าของแต่ละคีย์เหมือนกัน เราสามารถใช้วิธีนี้ได้ดังตัวอย่างด้านล่าง
ตัวอย่าง
list_keys = {1, 2, 3, 4}
new_dict = dict.fromkeys(list_keys, 'Mon')
print(new_dict)
print(type(new_dict))
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้ −
{1: 'Mon', 2: 'Mon', 3: 'Mon', 4: 'Mon'}
ใช้ Dictionary Comprehension
เราใช้วิธีคล้ายกับวิธีก่อนหน้า אלאที่ในกรณีนี้เราใช้ dictionary comprehension
ตัวอย่าง
list_keys = {1, 2, 3, 4}
new_dict = {element: 'Tue' for element in list_keys}
print(new_dict)
print(type(new_dict))
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้ −
{1: 'Tue', 2: 'Tue', 3: 'Tue', 4: 'Tue'}