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

แปลงเซตเป็นพจนานุกรมใน Python

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'}